类别:Workerman / 日期:2019-12-05 / 浏览:255 / 评论:0

并发观点太隐约,这里以两种可以量化的目标并发衔接数和并发请求数来申明。
并发衔接数是指服务器当前时候一共保持了若干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网别的相干文章!