t-io 30W長鏈接併發壓力測試報告

開始前準備。操做系統Ubuntu 12java

在/etc/sysctl.conf中添加以下配置:併發

fs.file-max = 1048576
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_mem = 786432 2097152 3145728
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

在/etc/security/limits.conf中添加以下配置:jvm

*	soft nofile 1048576
  *	hard nofile 1048576

最後使用ulimit -an查詢設置是否生效。tcp

測試主機cpu:性能

內存:測試

客戶端測試機用VMware建立12臺虛擬機。機器性能就不列舉了。每臺虛擬機能夠跑3W連接操作系統

1:t-io啓動時內存佔用率以及連接狀況code

2:5W連接時內存佔用狀況進程

3:10Wip

4:20W

5:30W

----------------------------------------------------------------------------

java進程統計狀況

cpu

jvm

2小時後觀察內存變化狀況以下圖

結論以下

1:0-10萬鏈接。內存變化較大。主要是因爲內存初始化時jvm會佔用一部份內存。

2:10萬以後。每增長10萬鏈接 內存佔用率上升300M左右。

3:隨着鏈接數增長能夠發現cpu性能對鏈接數影響不大。

4:新生代內存與老生代內存佔用率比較合理。

5:併發30W鏈接在2小時內。內存變化不明顯。處於合理狀態

根據以上數據能夠推論 —-> 以8G內存(可以使用內存爲7.5G左右)爲例:當內存佔用率達到5G左右時足以支撐100W併發鏈接。

相關文章
相關標籤/搜索