同步操作将从 EasySwoole/easyswoole 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
______ _____ _
| ____| / ____| | |
| |__ __ _ ___ _ _ | (___ __ __ ___ ___ | | ___
| __| / _` | / __| | | | | \___ \ \ \ /\ / / / _ \ / _ \ | | / _ \
| |____ | (_| | \__ \ | |_| | ____) | \ V V / | (_) | | (_) | | | | __/
|______| \__,_| |___/ \__, | |_____/ \_/\_/ \___/ \___/ |_| \___|
__/ |
|___/
EasySwoole 是一款基于Swoole Server 开发的常驻内存型的分布式PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务
相比传统的FPM框架来说,EasySwoole是有一点的入门成本的,许多设计理念及和环境均与传统的FPM不同, 对于长时间使用LAMP(LANP)技术的开发人员来说会有一段时间的适应期,而在众多的Swoole框架中,EasySwoole上手还是比较容易,根据简单的例子和文档几乎立即就能开启EasySwoole的探索之旅。
使用阿里云 1核1G 未做任何内核优化的实例作为运行 easySwoole 的测试机器,同时内网环境下部署另一台未经任何优化的施压机,详细配置如下
配置 | 测试机 | 施压机 |
---|---|---|
操作系统 | CentOS 7.4 | CentOS 7.4 |
vCPU | 1 | 2 |
内存 | 1 GB | 4 GB |
PHP | 7.2 | ---- |
Swoole | 1.9.21 | ---- |
基准测试在默认的 Index 控制器输出 'Hello World'
<?php
namespace App\HttpController;
use EasySwoole\Core\Http\AbstractInterface\Controller;
class Index extends Controller
{
function index()
{
$this->response()->write('Hello World');
}
}
执行 ab 测试,其中 172.18.95.34 为测试机器的内网IP,50万次请求测试结果如下
ab -c 100 -n 500000 http://172.18.95.34:9501/
This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 172.18.95.34 (be patient)
Completed 50000 requests
Completed 100000 requests
Completed 150000 requests
Completed 200000 requests
Completed 250000 requests
Completed 300000 requests
Completed 350000 requests
Completed 400000 requests
Completed 450000 requests
Completed 500000 requests
Finished 500000 requests
Server Software: swoole-http-server
Server Hostname: 172.18.95.34
Server Port: 9501
Document Path: /
Document Length: 63 bytes
Concurrency Level: 100
Time taken for tests: 41.405 seconds
Complete requests: 500000
Failed requests: 0
Non-2xx responses: 500000
Total transferred: 119000000 bytes
HTML transferred: 31500000 bytes
Requests per second: 12075.71 [#/sec] (mean)
Time per request: 8.281 [ms] (mean)
Time per request: 0.083 [ms] (mean, across all concurrent requests)
Transfer rate: 2806.66 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 0.5 1 4
Processing: 2 7 2.4 7 66
Waiting: 1 6 2.4 6 66
Total: 3 8 2.4 8 67
Percentage of the requests served within a certain time (ms)
50% 8
66% 9
75% 9
80% 9
90% 10
95% 10
98% 11
99% 12
100% 67 (longest request)
官方QQ交流群 : 633921431
捐赠 您的捐赠是对Swoole项目开发组最大的鼓励和支持。我们会坚持开发维护下去。 您的捐赠将被用于:
easySwoole 的文档采用 GitBook 作为文档撰写工具,若您在使用过程中,发现文档有需要纠正 / 补充的地方,请 fork 项目的文档仓库,进行修改补充,提交 Pull Request 并联系我们
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。