我寫了一個簡單的Web服務,其中手持設備連接到服務器上的Twisted腳本。設備將數據發送到腳本,腳本使用這些數據來查詢MySQL數據庫,將數據庫內容發送回設備。劇本是根據寫在本教程中處理數百萬個連接的扭曲腳本
怎麼會這樣的腳本處理大量連接的腳本?在我的腦海中,它只受服務器限制,服務器內存越高,可以處理的連接數越高。但是腳本能夠在大量連接中表現良好嗎?對於每個連接,都會創建一個新的連接實例,並在出現查詢時爲該連接創建一個新的db實例,所以它的所有處理都是異步處理的,我相信,所以服務器cpu的功率和內存?應對高連接量是通過擴展服務器來完成的?對於我的服務,連接可能會在1到3小時之間的任何地方保持打開狀態,因此服務器內存可能會填滿服務器並導致服務器崩潰。
另外,有沒有人知道連接實例的大小是什麼?
可能更多的服務器問題比扭曲的問題!但非常感謝閱讀!
我想這是更多的內核/ tcp-ip-stack問題,正如你所說 - 我懷疑Twisted強加了它自己的任何特定限制。閱讀http://stackoverflow.com/q/2332741/66349,我會建議考慮重新設計你的架構。也許UDP會更合適? – 2014-09-11 09:35:23
沒有明確的理由切換到UDP是一個常見的新手錯誤。謹防! – 2014-09-11 12:14:23