ennm/ easyswoole
3.0.14
2019-01-26 11:37 UTC
Requires
- php: >=7.1.0
- ext-swoole: >=4.2.6
- dragonmantank/cron-expression: v2.2.0
- easyswoole/component: 1.4.6
- easyswoole/socket: 1.1.7
- easyswoole/spl: 1.1.6
- easyswoole/trace: 1.1.7
- easyswoole/utility: 1.0.5
- ennm/http: 1.2.6
- jeremeamia/superclosure: 2.4
Requires (Dev)
- easyswoole/swoole-ide-helper: dev-master
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