wangrunxinyes / easyswoole
高效的 swoole 框架
v1.0.1
2021-01-13 06:59 UTC
Requires
- php: >=7.1.0
- ext-json: *
- ext-swoole: >=4.4.4
- dragonmantank/cron-expression: v2.3.1
- easyswoole/annotation: 1.1.0
- easyswoole/bridge: 1.0.3
- easyswoole/command: 1.1.7
- easyswoole/component: 2.2.3
- easyswoole/config: 1.0.7
- easyswoole/http: 1.7.15
- easyswoole/http-annotation: 1.1.2
- easyswoole/log: 1.0.6
- easyswoole/parsedown: 1.0.2
- easyswoole/redis: 1.3.5
- easyswoole/session: 2.0.7
- easyswoole/socket: 1.1.13
- easyswoole/spl: 1.3.7
- easyswoole/task: 1.1.1
- easyswoole/trigger: 1.0.0
- easyswoole/utility: 1.1.4
- easyswoole/validate: 1.2.7
- nikic/fast-route: v1.3.0
- opis/closure: 3.6.0
- psr/http-message: 1.0.1
Requires (Dev)
- easyswoole/phpunit: ^1.0
- easyswoole/swoole-ide-helper: ^1.2
This package is auto-updated.
Last update: 2024-09-13 16:49:57 UTC
README
EasySwoole - 高性能 Swoole 框架
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 规则定时器
文档
压力测试
<?php namespace App\HttpController; use EasySwoole\Http\AbstractInterface\Controller; /** * Class Index * @package App\HttpController */ class Index extends Controller { public 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 install
php easyswoole start
单元测试
安装 easyswoole 后,运行
php easyswoole phpunit ./vendor/easyswoole/easyswoole/tests
使用 Docker
获取 Docker 镜像
docker pull easyswoole/easyswoole3
运行
docker run -ti -p 9501:9501 easyswoole/easyswoole3
- WorkerDir: /easyswoole
- 运行 Easyswoole : php easyswoole start
其他
-
QQ 交流群
- VIP 群 579434607 (本群需要付费 599 元)
- EasySwoole 官方一群 633921431(已满)
- EasySwoole 官方二群 709134628
-
商业支持:
- QQ 291323003
- EMAIL admin@fosuss.com