日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

限制连接数上涨的几个关键因素

發布時間:2024/4/15 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 限制连接数上涨的几个关键因素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

系統端口限制

Linux系統端口為short類型表示,數值上限為65535。假設分配壓測業務可用端口范圍為1024 - 65535(1024以下系統預留),不考慮可能還運行著其它對外連接的服務,真正可用端口也就是64000左右(實際上,一般為了方便計算,一般直接設定為50000)。換言之,即在一臺機器上一個IP,可用同時對外建立64000網絡連接。

若是N個可用IP,理論上?64000*N,實際上還需要滿足:

  • 充足內存支持
  • tcp接收/發送緩沖區不要設置太大,tsung默認分配32K(可以修改成16K,一般夠用了)
  • 一個粗略估算假設一個用戶占用內存50k1w用戶占用500M內存,假設需要100w
  • 100w/6w = 17IP地址?500m * 100w/1024 = 50G內存?服務器單一IP?承載100萬用戶1臺主機+17臺從機?若單機64G內存+17IP可用IP地址?就一臺就能搞定。

    • 為多IP的壓測端分配適合的權重,以便承擔更多的終端連接

    Linux系統打開文件句柄限制

    系統打開文件句柄,直接決定了可以同時打開的網絡連接數量,這個需要設置大一些,否則,你可能會在tsung_controller@IP.log文件中看到error_connect_emfile類似文件句柄不夠使用的警告,建議此值要大于?> N * 64000。

    修改linux系統參數。vi /etc/security/limits.conf?添加

    *?? ? ? soft? ? nofile? 655350

    *?? ? ? hard? ? nofile? 655350

    *?? ? ? soft? ? nproc? 655350

    *?? ? ? hard? ? nproc? 655350

    修改以后保存,注銷當前用戶,重新登錄,執行ulimit -a ,ok?,參數生效了:

    注:nofile是代表最大文件打開數,nproc是操作系統級別對每個用戶創建的進程數的限制

    內存的影響:

    一個網絡Socket連接占用不多,但上萬個或數十萬等就不容小覷了,設置不當會導致內存直接成為屏障。

    TCP接收、發送緩存

    Tsung默認設置的網絡Socket發送接收緩沖區為16KB,一般夠用了。

    [root@bogon ~]# cat /proc/sys/net/ipv4/tcp_rmem4096 87380 4194304

    此值會覆蓋Linux系統設置接收、發送緩沖大小。

    粗略的默認值計算,一個網絡連接發送緩沖區?+?接收緩沖區,再加上進程處理連接堆棧占用,約40K內存,為即計算方便,設定建立一個網絡連接消費50K內存。

    先不考慮其它因素,若我們想要從機模擬10W個用戶,那么當前可用內存至少要剩余:50K * 100000 / 1000K = 5000M = 5G內存。針對一般服務器來講,完全可滿足要求(剩下事情就是要有兩個可用IP了)。

    ?

    服務器查看TCP連接數

    命令:

    ss -tan|awk 'NR>1{++S[$1]}END{for (a in S) print a,S[a]}’

    通過上述命令可以統計出TCP連接中處于各個狀態的連接數,在經過Ng代理之后需要真實的連接數需要除以2,因為Client——Nginx——Mqtt其實算是兩個TCP連接。

    ?

    ?

    轉載于:https://www.cnblogs.com/saryli/p/9821088.html

    總結

    以上是生活随笔為你收集整理的限制连接数上涨的几个关键因素的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。