長連接與短連接以及線程數相關的比較
摘要
對比了nginx與tomcat作爲靜態業務服務的性能之後
突然又想比較一下 長連接與否的性能情況.
很多時候恰當的配置還是非常重要的.
測試方法
分別使用長連接和短連接進行測試工作.
主要命令爲:
短連接
ab -c 1000 -n 50000 -r http://127.0.0.1:5201/zhaobsh.html
長連接
ab -c 1000 -n 50000 -k http://127.0.0.1:5201/zhaobsh.html
需要注意 部分服務器 不適用長連接會失敗.. 這裏僅是一個簡單的驗證
測試結果
單純測試查看TPS就可以相應時間就是一個取反的過程.
文件大小 |
tomcat-TPS |
tomcat-短連接TPS |
nginx-TPS |
nginx-短連接TPS |
20KB |
44094 |
7032 |
66418 |
9472 |
7.5MB |
585 |
220.61 |
672 |
313 |
文件大小 |
nginx-8線程-TPS |
nginx-8線程-短連接TPS |
nginx-1線程-TPS |
nginx-1線程-短連接TPS |
20KB |
66418 |
9472 |
39226.95 |
18080.65 |
7.5MB |
672 |
313 |
703.36 |
326.84 |
測試結果簡析
同一臺機器的情況下. 短連接可能表示不是很好.
畢竟有TCP建立與關閉連接.
單線程對多線程 能夠明顯提高TPS吞吐量
但是單個線程的相應時間 其實肯能會有所下降的.