时间:2019-07-30 10:50:12 作者:johnnyl 浏览量:9
长衔接的典型代表是 HTTP 1.1 ,而短衔接的典型代表是 HTTP 1.0,支撑HTTP 1.1的浏览器早就遍地都是了,为什么还要测验短衔接呢?第一,这是因为实践的浏览中,一个“长”衔接不可能像ab测验中的“长”衔接这么长,所以短链接的测验成果作为一个“底线”;第二,某些扫描工具用的便是短链接的方式,既然要做互联网的应用,也要“照顾”它们啊。因而,在出产环境中,实在的成果会在红线和蓝线之间的区间,详细是怎么样呢,“这个就不能说太细了”。
关于“传输率”这幅图的纵坐标的意义,100000 相当于 100MB/sec,也便是常说的百兆网络(疏忽 CSMA/CD 形成的丢失),而常说的千兆网络,经过测验,大概在400000~500000之间,换句话来说,假如nginx服务器的出口带宽是百兆网络的话,瓶颈在网络而不是nginx。
用NGINX测试HTTP和APACHE的性能差异图8
用NGINX测试HTTP和APACHE的性能差异图9
针对第二组图片也是有几个当地需求解析一下的:
出产环境的成果应该是在蓝线和红线之间的区间,这个就不必再解析了吧。
“Logest Response Time” 实践上取的是能完成一切恳求中的99%时的时刻,这样能够屏蔽一些误差。
随着压力的添加,呼应时刻的飙升是能够预见的,可是多少才算是一个可接受规模呢?在2009系统架构师大会腾讯的邱跃鹏在《海量SNS网站的柔性运营》中的讲话说到的“用户速度体会的1-3-10准则”:
用NGINX测试HTTP和APACHE的性能差异图10
能够简略的以为:假如以3秒的呼应时刻作为标准的话,nginx能敷衍不超越10000的并发衔接数,假如以10秒呼应时刻作为标准的话,nginx能敷衍15000以下个并发衔接,当然,可能场合不同,您的用户连0.3秒都无法忍受,这个就要另说咯。
假如我假设,只需服务器不呈现“衔接重置”,“服务器无呼应”等错误,只需能返回内容,我就乐意等,那么nginx能敷衍多大的并发衔接数呢?我自己做了个测验,20000+20000个长衔接,20000个短链接,一起压向nginx,成果怎么呢?
用NGINX测试HTTP和APACHE的性能差异图11
用NGINX测试HTTP和APACHE的性能差异图12
nginx仍是顶住了,没挂。我曾试过再加大压力,可是始终跑不完测验,成果作罢。
不怕不识货,就怕货比货,大名鼎鼎的apache又会怎么样呢?在此之前我们能够看看这篇帖子——我们猜这样的linux服务器 apache最大的并发数是多少,帖子中说到的服务器比我这台还要好,可是,超越70%的人都以为打破不了3000大关,咱们“不看广告,看疗效”。
我的Apache使用worker形式,装备如下:
用NGINX测试HTTP和APACHE的性能差异图13
用NGINX测试HTTP和APACHE的性能差异图14
用NGINX测试HTTP和APACHE的性能差异图14
Apache 短衔接成果(1/10抽样展现)Apache 的成果图形和nginx类似,可是我们请留心横坐标,最大是10000,而nginx最大的是20000,这是因为测到10000的时候,再往上加压力Apache就受不了,不是SWAP竭尽便是衔接超时。