I'm on a CentOS install and I used to get this error when making a lot of HTTP request several years ago. I did solve the issue adding a "Connection" header with "close" value, it seams to force AC to close the corresponding FD (file descriptor). But it worked only with "GET" request.
Now, we have to make "POST" request with bodies, and even with the "Connection" header set to "close", the number of process file descriptor is growing until to reach the limit. At the end, the process stop with the errors
IOB-090007 (setsockopt(), errno=9 : Bad file descriptor)
IOB-090007 (socket(), errno=24 : Too many open files)
We use the async method wich allows to make parallels request. The problem is the same with sync method.
I don't know if this could be resolved adding another header, I tried to "close" the connection with disconnect() method, no result.
I can't change the limit of opened FD (and to me, it's not a solution)