Swoole扩展简单介绍与使用

  • 2016-06-08
  • 1504
  • 109

122

前段时间,由于公司业务发展迅速,于是希望开发一套监控系统,以便做到对业务的实时监控与预警,我有幸跟着一个架构师参与到了此项目。现对Swoole做下简单整理。

当初设计的系统结构图如下:图片1

简单总结为:监控系统设计上报通过SDK(phpSDK 和javaSDK)以http短链接post上报json字符串到apiserver并存到redis,后端redis再合并到mysql,要求apiserver支持容量每秒1万。

综合考虑下,apisever的框架选择上放弃了tp、ci等框架,这些框架在初始化时,加载了很多东西,导致了在http post时,增加了20ms左右的耗时。于是考虑到用swoole扩展做Http服务,程序设计上运用mysql连接池,ORM模型等;官网上介绍,在Inter Core-I5 4核 + 8G内存的普通PC机器上,swoole_http_server可以达到近11万QPS,完全符合需求。

相同的机器访问同一controller层耗时如下,一个是swoole的http服务,一个是nginx

22222 1111
并且通过使用apache bench工具进行压力测试,在 单核 + 1G内存的机器上,可以达到近1万QPS。性能几乎接近与Nginx的静态文件处理。

apiserver开发完之后用loadrunner测试同样是fastcgi模式的好几倍:

88888888

后续计划:

由于近段时间业务需求,接触到Laravel(Lumen)框架, 其利用 Composer 来管理自身的依赖。

于是有了自己写一个基于Swoole扩展+Composer管理的一个轻量级接口框架的想法。


上一篇:  下一篇:

评论

还没有任何评论,你来说两句吧

Copyright © 2014-2016 lxlxw All Right Reserved