mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
f434988215
I was looking at some decision task logs and noticed lines like: Connection pool is full, discarding connection: taskcluster I also noticed lines like: Starting new HTTP connection (153): taskcluster In this case, we had established 153 TCP connections to a server. Looking at the requests source code, a requests.session by default creates a connection pool with capacity of 10. There are actually 2 components to the capacity: idle connections and active connections. What appeared to be happening was we could obtain an idle connection, use it, and then it would be discarded when put back in the idle pool because the idle pool was at capacity. Furthermore, it also appears that connections were sitting around waiting for a TCP connection. This commit uses a custom "adapter" with an increased pool size that matches the concurrency level of the code issuing the HTTP requests. This should increase the number of concurrent TCP connections / requests, decreease the number of TCP connections being used overall, and make decision tasks complete faster. MozReview-Commit-ID: 6NDbz78TM2y --HG-- extra : rebase_source : a48e1dae31a5e2af2bc554b544a9019d50dc784f |
||
---|---|---|
.. | ||
ci | ||
docs | ||
scripts | ||
taskgraph | ||
mach_commands.py | ||
moz.build |