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文档,已经删除了任何关于连接数量的限制。这是在运行Snow Leopard的2.16Ghz Intel Core 2 Duo iMac上进行的测试。在Vista机器上进行快速测试显示,在约300个连接时会出现相同的问题。我的测试是否不合理?即同时打开100多个连接以测试Yaws并发性是否愚蠢?谢谢。
ERL_MAX_PORTS
不是用于网络端口,而是用于 Erlang 端口(一种以 Erlang 客户端的方式启动程序)- 请参见port_open()
。 - ZeissS