Есть ли у библиотеки erlang TCP/IP какие-либо ограничения? Я сделал некоторые поиски, но не могу найти никаких окончательных ответов.
Я установил для переменной среды ERL_MAX_PORTS значение 12000 и настроил Yaws на использование неограниченного количества подключений.
Я написал простое клиентское приложение, которое подключается к моду приложения, который я написал для Yaws, и проверяю количество одновременных подключений, запуская X клиентов одновременно.
Я обнаружил, что когда я получаю около 100 клиентов, сервер Yaws перестает принимать больше TCP-соединений, и клиент выдает ошибку с
Error in process with exit value: {{badmatch,{error,socket_closed_remotely}}
Я знаю, что должно быть ограничение на количество открытых одновременных подключений, но 100 кажется очень низким. Я просмотрел всю документацию по yaws и снял все ограничения на соединения.
Это на 2,16 ГГц Intel Core 2 Duo iMac под управлением Snow Leopard.
Быстрый тест на Vista Machine показывает, что у меня возникают те же проблемы примерно при 300 подключениях.
Является ли мой тест необоснованным? т.е. Глупо открывать более 100 соединений одновременно для проверки параллелизма Yaws?
Спасибо.
socket_closed_remotely
не предполагает, что проблема в клиенте? - person Zed   schedule 24.01.2010ERL_MAX_PORTS
афаик не для сетевых портов, а для портов erlang (способ запускать программы как клиенты erlang) - см.port_open()
. - person ZeissS   schedule 09.02.2010