

GitHub - easy-swoole/easyswoole: use swoole easily just like echo "hello wo...
source link: https://github.com/easy-swoole/easyswoole
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
EasySwoole
______ _____ _
| ____| / ____| | |
| |__ __ _ ___ _ _ | (___ __ __ ___ ___ | | ___
| __| / _` | / __| | | | | \___ \ \ \ /\ / / / _ \ / _ \ | | / _ \
| |____ | (_| | \__ \ | |_| | ____) | \ V V / | (_) | | (_) | | | | __/
|______| \__,_| |___/ \__, | |_____/ \_/\_/ \___/ \___/ |_| \___|
__/ |
|___/
EasySwoole
EasySwoole 是一款基于Swoole Server 开发的常驻内存型的分布式PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务
特性
- 强大的 TCP/UDP Server 框架,多线程,EventLoop,事件驱动,异步,Worker进程组,Task异步任务,毫秒定时器,SSL/TLS隧道加密
- EventLoop API,让用户可以直接操作底层的事件循环,将socket,stream,管道等Linux文件加入到事件循环中
- 定时器、协程对象池、HTTP\SOCK控制器、分布式微服务、RPC支持
入门成本
相比传统的FPM框架来说,EasySwoole是有一点的入门成本的,许多设计理念及和环境均与传统的FPM不同, 对于长时间使用LAMP(LANP)技术的开发人员来说会有一段时间的适应期,而在众多的Swoole框架中,EasySwoole上手还是比较容易,根据简单的例子和文档几乎立即就能开启EasySwoole的探索之旅。
优势
- 简单易用开发效率高
- 并发百万TCP连接
- TCP/UDP/UnixSock
- 支持异步/同步/协程
- 支持多进程/多线程
- CPU亲和性/守护进程
常用功能与组件
- HTTP控制器与自定义路由
- TCP、UDP、WEB_SOCKET控制器
- 多种混合协议通讯
- 异步客户端与协程对象池
- 异步进程、自定义进程、定时器
- 集群分布式支持,例如集群节点通讯,服务发现,RPC
- 全开放系统事件注册器与EventHook
- Redis队列消费与订阅
基准测试
使用阿里云 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 并联系我们
Recommend
-
116
easyswoole - use swoole easily just like echo "hello world";
-
178
SwooleDistributed 官网:http://sd.youwoxing.net 今年年底历时2年多的迭代,这是SD框架硕果满满的一年,通过不断的迭代和改进SD框架已经在圈内有良好的口碑,不少新生的框架借鉴了SD的设计思想,...
-
169
Page not found · GitHub · GitHub Skip to content...
-
148
Page not found · GitHub · GitHub Skip to content...
-
47
README.md FaShop 长期维护版本,欢迎大家踊跃提交贡献代码; 参与开发 更多项目请关注:https://www.fashop.c...
-
50
README.md 支付宝 支付方法 支付宝支付目前支持 7 种支付方法,对应的支付 method 如下: method 说明 参数 返回值 web 电脑支付 Request Response...
-
41
EASYSWOOLE-ORM 众所周知,由于swoole 是在...
-
12
Add watermark on images easilyEasy watermark is a totally open-source and OFFLINE App for adding a watermark to your sensitive photos. To prevent them from being leaked or exploited by the BAD GUY.
-
7
Make it Easy on Me: How to Easily Invest in Crypto Even if You Have No Time February 11th 2022 new story4
-
3
Color EasilyThe easy way to generate a color paletteDiscover the perfect color palette with the click of a button. Whether you're starting from a blank canvas or already have some...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK