Hi, I've been using haproxy 1.6.1 to test the newly added unix domain socket connector on the Jetty server.
However, under load testing I start to see messages like: Connect() failed for backend frontend: no free ports. If I only get a few of these messages, it does not appear to affect the results. But eventually I get batches of these messages that appear associated with failed responses. I have written a test client to connect directly to the jetty unix domain socket and it works fine with up to 20,000 simultaneous connections and requests. I'm only seeing problems via haproxy. If I use TCP over localhost instead of unix domain socket to talk to the backend, I get no problems at all. I'm using ab to generate load and problems start occurring with concurrency over 350: ab -n 1000000 -c 500 -k http://localhost:8888/ My haproxy configuration is: global tune.ssl.default-dh-param 8192 maxconn 10000 maxpipes 10000 maxsslconn 10000 defaults mode tcp timeout connect 5000ms timeout client 50000ms timeout server 50000ms listen frontend bind :8888 bind :8843 ssl no-sslv3 crt ./cert.pem ciphers TLSv1.2 #server backend 127.0.0.1:8080 server backend /tmp/jetty.sock send-proxy-v2-ssl-cn I've tried turning on debug to get more information, but I just get output like: 000001ed:frontend.accept(0005)=013a from [127.0.0.1:53303] 000001ee:frontend.accept(0005)=0139 from [127.0.0.1:53302] 000001ef:frontend.accept(0005)=0138 from [127.0.0.1:53301] 000001f0:frontend.accept(0005)=0137 from [127.0.0.1:53300] 000001f1:frontend.accept(0005)=0136 from [127.0.0.1:53299] 000001f2:frontend.accept(0005)=0135 from [127.0.0.1:53298] 000001f3:frontend.accept(0005)=0134 from [127.0.0.1:53297] Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. 000001b0:frontend.clicls[0177:03aa] 000001b0:frontend.closed[0177:03aa] Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. 000001b1:frontend.clicls[0176:0177] 000001b1:frontend.closed[0176:0177] Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Connect() failed for backend frontend: no free ports. Which is not saying anything to me. So anybody know what resource "free ports" relates to in the unix domain socket case? Are there any other debug options to find out more about what is happening. I'm running on ubuntu 10.04 with a ulimit of 80000 FDs cheers -- Greg Wilkins <[email protected]> CTO http://webtide.com

