Hello!
When using unicorn unicorn v4.8.2 and we're seeing a high number of TCP
retransmits at a high connection rate.
Smartos version: 20131218T184706Z
Rackup file used:
> cat server.ru
run -> (env) { [200, {"Content-Type" => "text/plain"},
[Time.now.iso8601(6)]] }
To start unicorn:
> bundle exec unicorn -l 9292 server.ru
To benchmark unicorn:
>> Benchmark.measure { 1000.times { time=Benchmark.measure {
>> open("http://<ip>:9292/api/v1/settings/time",
"Host" => "api.wanelo.com")}.real; p (time*1000).round(2) if time > 0.05 } }
After the total number of connections on the system goes above 8,000
(16,000 is the average number of connections), we start seeing delays of
around 1.1 seconds.
We don't see the issue over the local loopback interface, only over the
net. When using Webrick, we don't see this issue.
Our tcp initial retransmit interval is 1 second. When the interval is
reduced, the occasional latency goes down. We also see the retransmits in
netstat, about 1 - 2 every second.
Any ideas of where to look next?
Thanks!
Paul