ennmeasyswoole

3.0.14 2019-01-26 11:37 UTC

README

EasySwoole

EasySwoole 是基于 Swoole 扩展的分布式、持久化内存 PHP 框架。它专为 API 创建,以消除与进程调用和文件加载相关的性能损失。EasySwoole 高度封装了 Swoole 服务器,同时保留了 Swoole 服务器的原始功能,支持同时监控 HTTP、自定义 TCP 和 UDP 协议,允许开发者以最小的学习成本和努力编写多进程、异步和高可用性应用程序。

  • 基于 Swoole 扩展
  • 内置 HTTP、TCP、WebSocket、UDP 协程服务器
  • 全局依赖注入容器
  • 基于 PSR-7 的 HTTP 消息实现
  • 支持 HTTP、TCP、WebSocket、UDP 中间件
  • 可扩展高性能 RPC
  • 数据库 ORM
  • MySQL、Redis、RPC、HTTP 协程客户端
  • 协程和异步任务交付
  • 自定义用户进程
  • 支持 RESTful
  • 高性能路由器
  • 快速灵活的参数验证器
  • 强大的日志组件
  • 通用连接池
  • 支持远程控制台
  • 支持 Crontab 规则定时器

ab 测试

<?php

namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\Controller;


/**
 * Class Index
 * @package App\HttpController
 */
class Index extends Controller
{
    function index()
    {
        $this->response()->write('Hello World');
    }
}

1 核心 1G 内存

命令:ab -c 100 -n 10000 http://192.168.0.11:9501/

Server Software:        EasySwoole
Server Hostname:        192.168.0.11
Server Port:            9501

Document Path:          /
Document Length:        21 bytes

Concurrency Level:      100
Time taken for tests:   0.652 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      1690000 bytes
HTML transferred:       210000 bytes
Requests per second:    15325.16 [#/sec] (mean)
Time per request:       9.685 [ms] (mean)
Time per request:       0.097 [ms] (mean, across all concurrent requests)
Transfer rate:          2592.05 [Kbytes/sec] received

8 核心 16G 内存

命令:ab -c 100 -n 10000 http://192.168.0.4:9501/

Server Software:        EasySwoole
Server Hostname:        192.168.0.4
Server Port:            9501

Document Path:          /
Document Length:        21 bytes

Concurrency Level:      100
Time taken for tests:   0.746 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      1690000 bytes
HTML transferred:       210000 bytes
Requests per second:    66935.97 [#/sec] (mean)
Time per request:       1.149 [ms] (mean)
Time per request:       0.015 [ms] (mean, across all concurrent requests)
Transfer rate:          2265.40 [Kbytes/sec] received

快速入门

composer require easyswoole/easyswoole=3.x
php vendor/bin/easyswoole.php install
php easyswoole start

其他