我正在使用多个客户端(200,300,500,...... 3000)对我的服务器进行负载测试。为了测试我正在使用Windows 64位系统,我在一个系统上运行服务器,在另一个系统上运行客户端。所有客户端都可以成功连接,但是一分钟或两分钟后,服务器通过erlang:error - > “{badmatch,{error,system_limit}},{module,accept_function,3}”用于某些服务器实例并死掉这些服务器实例。有没有可以解决这个问题?
提前谢谢..
sreenivas,印度。
答案 0 :(得分:6)
您的系统上允许打开的端口数似乎已达到系统限制。阅读this doc here,了解您是否可以确定您的限制。
特别是:
打开端口最大数量 同时打开Erlang端口是 默认1024.可以提高此限制 启动时最多268435456 (见环境变量 erlang中的ERL_MAX_PORTS(3)) 最大限制为268435456个开放端口 将至少在32位架构上 因记忆而无法到达 短缺。
打开文件和套接字最大值 同时打开文件的数量 和套接字取决于最大值 可用的Erlang端口数量,以及 操作系统特定的设置和 限制。