Swoole是一个为PHP用C和C++编写的基于事件的高性能异步&协程并行网络通信引擎。

  • Swoole中的网络请求处理是基于事件的,并且充分利用了底层的epoll/kqueue实现,使得为数百万个请求服务变得非常容易。
  • Swoole4使用全新的协程内核引擎,为性能的高速提升提供了独一无二的可能性。
  • Swoole4或更高版本拥有高可用性的内置协程,可以使用完全同步的代码来实现异步性能,PHP代码没有任何额外的关键字,底层会自动进行协程调度。
  • 协程—开发者可以将协程理解为超轻量级的线程,可以非常容易地在一个进程中创建成千上万个协程。
  • MySQL—并发1万个请求从MySQL读取海量数据仅需要0.2s。
  • 混合服务器—可以在一个事件循环上创建多个服务:TCP,HTTP,Websocket和HTTP2,并且能轻松承载上万请求。
  • 多种客户端—不管是DNS查询抑或是发送请求和接收响应,都是协程调度的,不会产生任何阻塞。
  • 通道—通道(Channel)是协程之间通信交换数据的唯一渠道,而协程+通道的开发组合即为著名的CSP编程模型。Channel常用于连接池的实现和协程并发的调度。
  • 命名空间—Swoole提供了多种类命名规则以满足不同开发者的爱好:1、符合PSR规范的命名空间风格,2、便于键入的下划线风格,3、协程类短名风格。
  • 在最新版本的Swoole中,添加了一项新功能,使PHP原生的同步网络库一键化成为协程库。

你可以在一秒钟里做多少事?

睡眠1万次,读取,写入,检查和删除文件1万次,使用PDO和MySQLi与数据库通信1万次,创建TCP服务器和多个客户端相互通信1万次,创建UDP服务器和多个客户端到相互通信1万次……一切都在一个进程中完美完成!

常用的两种压测方法

AB压测法:ab -n 100000 -c 128 -k http:127.0.0.1:9501/

wrk压测法:wrk http://127.0.0.1:9501 -c 256 -t 4 -d 5

最后修改日期:2021年5月17日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。