erlang TCP/IP庫是否有一些限制?我做了一些搜索,但找不到任何明確的答案。Erlang同時開放端口的最大數量?
我已經將ERL_MAX_PORTS環境變量設置爲12000,並將Yaws配置爲使用無限連接。
我已經編寫了一個簡單的客戶端應用程序,它連接到我爲Yaws編寫的appmod,並且通過同時啓動X個客戶端來測試同時連接的數量。
我發現,當我得到約100名客戶中,雅司病服務器停止接受更多的TCP連接,並在客戶端的錯誤出與
Error in process with exit value: {{badmatch,{error,socket_closed_remotely}}
我知道必須有開放的併發連接數的限制,但100似乎真的很低。我瀏覽了所有的雅司文檔,並刪除了連接的限制。
這是運行Snow Leopard的2.16Ghz Intel Core 2 Duo iMac。
對Vista機器的快速測試表明,在約300個連接處出現同樣的問題。
我的測試不合理嗎?即同時打開100多個連接來測試Yaws的併發性是否很愚蠢?
謝謝。
是否'socket_closed_remotely'表明問題出在客戶端? – Zed 2010-01-24 19:03:05
編輯完成後更新了我的答案,可能是因爲您同時打開了所有答案。 – stacker 2010-01-24 20:14:52
Zed:錯誤消息來自客戶端,所以Yaws關閉了套接字。我沒有看到任何記錄在Yaws中的東西。 – ckovacs 2010-01-25 02:59:53