91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現4G內存服務器epoll并發量最大

發布時間:2021-09-27 10:08:21 來源:億速云 閱讀:116 作者:iii 欄目:系統運維

這篇文章主要講解了“如何實現4G內存服務器epoll并發量最大”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何實現4G內存服務器epoll并發量最大”吧!

按照題主的意思 是根據內存去算一個最大并發的連接數. 那么首先要找出來單個連接消耗內存的地方.

第一個首先是socket buffer. read 和write 分別有一個, 默認大小在

代碼如下:

/proc/sys/net/ipv4/tcp_rmem (for read)
/proc/sys/net/ipv4/tcp_wmem (for write)

默認大小都是87K和16K, 最低是4K和4K, 最高是2M,2M, 實際使用默認值最低也要保留8K,8K.

然后是邏輯IO緩沖區

就是比如你監聽了recv事件 事件來了 你要有內存可用(一般都是socket建立起就分配好,斷開才會釋放的).
這個內存是自己寫socket程序時候自己控制的, 最低也要4K,4K, 實際使用8K,8K至少.

現在設定一個優化方案和使用場景, 首先假設4G內存全部為空閑(系統和其他進程也要內存的….

假如網絡包的大小都可以控制在4K以下, 假設所有連接的網絡都不會擁堵, 或者擁堵時候的總量在4K以下:
一個連接的內存消耗是4+4+4+4=16K
4G/16K=26.2萬并發

假如網絡包的大小都可以控制在8K以下, 假設所有連接的網絡都不會擁堵, 或者擁堵時候的總量在8K以下
一個socket的內存占用介于 24K ~ 32K之間, 保守的按照32K算
4G/32K=13.1萬并發, 這個在生產環境作為一個純網絡層面的內存消耗, 是可以作為參考的.

假如使用默認配置, 假如所有連接的網絡都出現嚴重擁堵, 不考慮邏輯上的發送隊列的占用,
使用默認配置是2M+2M+8+8 ~= 4M
4G/4M=1024并發 ( …
如果考慮到發送隊列也擁堵的話 自己腦補.

如果只是為了跑分 為了并發而優化, 沒有常駐的邏輯緩沖區 并且socket的網絡吞吐量很小并且負載平滑, 把socket buffer size設置系統最低.
那么是
4G/8K = 52.4萬并發 這個應該是極限值了.

感謝各位的閱讀,以上就是“如何實現4G內存服務器epoll并發量最大”的內容了,經過本文的學習后,相信大家對如何實現4G內存服務器epoll并發量最大這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節
推薦閱讀:
  1. 自己動手實現Epoll
  2. epoll

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

固始县| 车致| 满洲里市| 三台县| 安化县| 开原市| 漳平市| 平南县| 福清市| 两当县| 连州市| 汾阳市| 鲁山县| 黔南| 定陶县| 特克斯县| 奉化市| 平顶山市| 门头沟区| 浙江省| 当涂县| 南汇区| 苏州市| 杨浦区| 江城| 天柱县| 来宾市| 边坝县| 涟源市| 靖江市| 鄂托克旗| 甘泉县| 东至县| 吉林省| 大埔区| 菏泽市| 新绛县| 桃江县| 大方县| 怀来县| 漠河县|