OSXでabやsiegeなどのベンチマークテストで負荷の軽いテストを少し長めに続けると以下のエラーが出ることがあります。
Benchmarking 127.0.0.1 (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
apr_socket_recv: Operation timed out (60)
このエラーの原因は大量リクエストをさばくための空きポートが枯渇するためで、net.inet.tcp.msl
という値を低くすれば解決できます。
sudo sysctl -w net.inet.tcp.msl=1000
net.inet.tcp.msl: 15000 -> 1000
ソース
* https://gist.github.com/carlos8f/3473107
* Why does a simple Thin server stop responding at 16500 requests when benchmarking? [duplicate]
* spray-canのサンプルにabコマンド打つと16000reqくらいで止まる