Linux服務端最大並發數是多少?
C10K問題:epoll
libevent 源碼閱讀
C10M:
不要讓OS內核執行所有繁重的任務:將數據包處理、內存管理、處理器調度等任務從內核轉移到應用程序高效地完成,讓諸如Linux這樣的OS只處理控制層,數據層完全交給應用程序來處理。
服務器最大的並發數
五元組:
源地址+目的地址+源端口+目的端口+協議號
一個五元組可以唯一標記一個網絡連接
理論最大的並發數=服務端唯一五元組個數
Linux端口是2字節的short,那么端口數就是2^16個端口
針對單個客戶端或者服務器是2^16g個,但是實際上每個服務器會對應全網的所有的客戶端,那么從服務端來看,源IP地址和源端口數量的數量是很大的
IPV4的長度為32位,那么可以接收到的IPV4的個數理論上是232個,端口數為216個,那么理論上是可以達到2^48個鏈接的
客戶端最大連接數
客戶端的源IP只有一個,端口數有216個,所以理論上最多可以有216個鏈接,當然要去掉系統進程占用的端口數