我正在試驗(yàn)limit和limit_per_host參數(shù)aiohttp.connector.TCPConnector。在下面的腳本中,我傳遞connector = aiohttp.connector.TCPConnector(limit=25, limit_per_host=5)到aiohttp.ClientSession,然后向 docs.aiohttp.org 打開 2 個(gè)請(qǐng)求,向 github.com 打開 3 個(gè)請(qǐng)求。的結(jié)果session.request是 的一個(gè)實(shí)例aiohttp.ClientResponse,在這個(gè)例子中,我故意不調(diào)用.close()它,無(wú)論是通過(guò).close()還是__aexit__。我認(rèn)為這會(huì)使連接池保持打開狀態(tài),并將與該(主機(jī)、ssl、端口)的可用連接減少三倍 -1。下表代表了._available_connections()每個(gè)請(qǐng)求之后。 為什么即使在完成對(duì) docs.aiohttp.org 的第二個(gè)請(qǐng)求后,該數(shù)字仍為 4? 這兩個(gè)連接可能仍處于打開狀態(tài),尚未訪問(wèn)._content或已關(guān)閉??捎眠B接數(shù)不應(yīng)該減少 1 嗎?After Request Num. To _available_connections1 docs.aiohttp.org 42 docs.aiohttp.org 4 <--- Why?3 github.com 44 github.com 35 github.com 2此外,為什么._acquired_per_host只包含 1 個(gè)鍵? 我想我可能正在了解TCPConnector; 什么解釋了上述行為?
添加回答
舉報(bào)
0/150
提交
取消