由于套接字失败,围困中止

我遇到这个问题,同时试图从Mac OS X 10.8.3围攻下面的cmd。

siege -d1 -c 20 -t2m -i -f -r10 urls.txt 

Siege的输出如下:

 ** SIEGE 2.74 ** Preparing 20 concurrent users for battle. The server is now under siege... done. siege aborted due to excessive socket failure; you can change the failure threshold in $HOME/.siegerc Transactions: 0 hits Availability: 0.00 % Elapsed time: 27.04 secs Data transferred: 0.00 MB Response time: 0.00 secs Transaction rate: 0.00 trans/sec Throughput: 0.00 MB/sec Concurrency: 0.00 Successful transactions: 0 Failed transactions: 1043 Longest transaction: 0.00 Shortest transaction: 0.00 FILE: /usr/local/var/siege.log You can disable this annoying message by editing the .siegerc file in your home directory; change the directive 'show-logfile' to false. 

Solutions Collecting From Web of "由于套接字失败,围困中止"

问题可能是你用尽了临时端口。 要解决该问题,请扩大要使用的端口数量,或者减少端口保留在TIME_WAIT中的持续时间。

展开可用的端口:

检查您的当前设置:

$ sudo sysctl net.inet.ip.portrange.hifirst

net.inet.ip.portrange.hifirst: 49152

将其设置为较低以展开您的窗口:

$ sudo sysctl -w net.inet.ip.portrange.hifirst=32768

net.inet.ip.portrange.hifirst: 49152 -> 32768

(应该已经是最高的了,65536)

减少最大段寿命

$ sudo sysctl -w net.inet.tcp.msl=1000

net.inet.tcp.msl: 15000 -> 1000