easyswoole/easyswoole

高效的Swoole框架


README

英文 | 中文

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads

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.7.x
php vendor/bin/easyswoole.php install
php easyswoole.php server start

Docker

获取Docker镜像

docker pull easyswoolexuesi2021/easyswoole:php8.1.22-alpine3.16-swoole4.8.13

更多Docker镜像可查看:Docker HubGit Dockerfile

运行

docker run --name easyswoole \
-v /workspace/project:/var/www/project \
-p 9501:9501 -it \
--privileged -u root \
--entrypoint /bin/sh \
easyswoolexuesi2021/easyswoole:php8.1.22-alpine3.16-swoole4.8.13
  • WorkerDir: /var/www
  • 运行EasySwoole
composer require easyswoole/easyswoole=3.7.x
php vendor/bin/easyswoole.php install
php easyswoole.php server start

其他

  • Git示例

  • QQ交流群

    • VIP群 579434607 (本群需付费599元)
    • EasySwoole官方一群 633921431(已满)
    • EasySwoole官方二群 709134628(已满)
    • EasySwoole官方三群 932625047(已满)
    • EasySwoole官方四群 779897753(已满)
    • EasySwoole官方五群 853946743(已满)
    • EasySwoole官方六群 524475224
  • 商业支持: