我有一臺服務器,我正在創建(一個消息服務),我正在做一些初步測試來進行基準測試。到目前爲止,處理數據的最快方式是直接在用戶進程上使用並使用工作池。我測試過產卵,這是令人難以置信的緩慢。您是否需要在Erlang中使用工作區池?
該測試只是連接10k用戶,並且每個用戶同時發送15kb數據(或者嘗試太多)並讓服務器處理數據(總長度,標題和有效負載) 。
我有工作池的問題是它的唯一快速,當你有足夠的工人來抵消連接的數量。例如,如果您擁有500k或100萬用戶,則需要更多的工作人員來處理所有進入的併發數據。而對於我的測試,有1000名工作人員將使其無法使用。
所以我的問題如下:什麼時候使用工作人員池是有意義的?會不會有一個臨界點,我不得不使用工作人員來處理數據以釋放用戶進程?多少工人太多了,是多少50萬?
而且,如果員工是要走的路(對於那些龐大的併發分佈式服務器),我猜你可以根據需要動態創建/刪除?
任何文學也讚賞!
感謝您的回答!
我還沒有切換到這些,但當我在erlang服務器上同時連接15-30k +用戶時,我遇到了問題。對於正在進行爆破的客戶,我得到{錯誤,關閉}(很可能是因爲握手緩慢)。我應該避開ssl_accept,然後推出自己的? – Mike5050