在Python中,如果我希望我的服務器能夠很好地按比例縮放,我顯然需要產生多個進程。我想知道哪個更好(使用Twisted):Python/Twisted多用戶服務器 - 哪種更高效?
A)管理進程(持有實際套接字連接的進程)將收到的數據包放入一個共享隊列(多處理模塊中的一個)數據包退出隊列,處理它們並將結果發送回客戶端。 B)管理進程(持有實際套接字連接的人)啓動一個延遲線程,然後在進程池上調用apply()函數。一旦結果從工作進程返回,管理器將結果發送回客戶端。
在這兩種實現中,工作進程都使用線程池,因此它們可以一次處理多個數據包(因爲會有很多數據庫查詢)。