php workerman怎么样,workerman怎样完成高并发_PHP开发框架教程
发布日期:2021-06-24 11:36:35 浏览次数:2 分类:技术文章

本文共 1391 字,大约阅读时间需要 4 分钟。

aa6c9ae80419770a8ea9f86e986b1728.png

并发观点太隐约,这里以两种可以量化的目标并发衔接数和并发请求数来申明。

并发衔接数是指服务器当前时候一共保持了若干TCP衔接,而这些衔接上是不是有数据通讯并不关注。 (引荐进修: workerman教程)

比方一台音讯推送服务器上也许保持了百万的装备衔接,因为衔接上很少有数据通讯,所以这台服务器上负载也许险些为0,只需内存充足,还可以继承接收衔接。

并发请求数平常用QPS(服务器每秒处置惩罚若干请求)来权衡,而当前时候服务器上有若干个tcp衔接并不非常关注。比方一台服务器只要10个客户端衔接,每一个客户端衔接上每秒有1W个请求,那末请求服务端须要最少能支撑10*1W=10W每秒的吞吐量(QPS)。

假定10W吞吐量每秒是这台服务器的极限,假如每一个客户端每秒发送1个请求给服务端,那末这台服务器可以支撑10W个客户端。

并发衔接数受限于服务器内存,平常24G内存workerman服务器可以支撑也许120W并发衔接。

并发请求数受限于服务器cpu处置惩罚才能,一台24核workerman服务器可以到达45W每秒的吞吐量(QPS),现实值依据营业复杂度以及代码质量有所变化。

注重

高并发场景必需装置event或许libevent扩大。别的须要优化linux内核,尤其是历程翻开文件数限定。

压测数据

这里仅供应workerman压测的QPS数据参考。

###测试环境:

体系:debian 6.0 64位

内存:64G

cpu:Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz (2颗物理cpu,6中心,2线程)

Workerman:开启200个Benchark历程

压测剧本:benchmark

营业:发送并返回hello字符串

###一般PHP(版本5.3.10)压测

短衔接(每次请求完成后封闭衔接,下次请求建立新的衔接):

前提: 压测剧本开500个并发线程模仿500个并发用户,每一个线程衔接Workerman 10W次,每次衔接发送1个请求

效果: 吞吐量:2.3W/S , cpu利用率:36%

长衔接(每次请求后不封闭衔接,下次请求继承复用这个衔接):

前提: 压测剧本开2000个并发线程模仿2000个并发用户,每一个线程衔接Workerman 1次,每一个衔接发送10W请求

效果: 吞吐量:36.7W/S , cpu利用率:69%

内存:每一个历程内存稳定在6444K,无内存走漏

以上是php5.3版本压测数据,假如用php7,机能会再次提拔40%摆布。

###HHVM环境压测

短衔接(每次请求完成后封闭衔接,下次请求建立新的衔接):

前提: 压测剧本开1000个并发线程模仿1000个并发用户,每一个线程衔接Workerman 10W次,每次衔接发送1个请求

效果: 吞吐量:3.5W/S , cpu利用率:35%

长衔接(每次请求后不封闭衔接,下次请求继承复用这个衔接):

前提: 压测剧本开6000个并发线程模仿6000个并发用户,每一个线程衔接Workerman 1次,每一个衔接发送10W请求

效果: 吞吐量:45W/S , cpu利用率:67%

内存:HHVM环境每一个历程内存稳定在46M,无内存走漏

以上就是workerman怎样完成高并发的细致内容,更多请关注ki4网别的相干文章!

收藏 | 0

转载地址:https://blog.csdn.net/weixin_32541663/article/details/115990871 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php中http错误码,php – 哪些HTTP响应代码是错误的?
下一篇:实验二信号运算的matlab实现,实验1信号的产生及运算.doc

发表评论

最新留言

不错!
[***.144.177.141]2024年04月17日 23时28分34秒