0
對不起這個愚蠢的問題,但我真的很困惑;我希望你能糾正我錯在哪裏。'一個'IOLoop如何處理10k連接?
在基於線程服務器(如Apache),我明白,每個客戶端,一個新的'工人'將被創建爲他服務他的所有需求。
在 事件驅動(如Nginx的和龍捲風),這來自我的困惑,espetially那裏是一個不是線程安全像Python的GIL;據我所知,有一個單一的循環將處理所有的客戶請求,所以我愚蠢的理解,如果有10000個simultanous連接,我沒有看到如何服務所有這10個thousend請求!
那麼爲什麼我們不能在事件驅動和基於線程的服務器之間進行組合? –
你可以。例如:您可能每個CPU核心都有一個線程,其中每個線程都是事件驅動的。您可能還有工作線程來處理動態頁面生成(PHP,JSP,...),並通過「正常」事件驅動線程提供靜態內容(圖像......)。 – ninjalj
問題是,Python(CPytohn)擁有GIL,並且如上所述,Tornado處理10k連接,所以我感到震驚!如果10k同時連接發生,那麼,如果一個操作有1秒,il將被分裂爲1/10k? –