多个 API 端点有多少个 aiohttp 会话?

How many aiohttp sessions for multiple API endpoints?

假设我想定期(比如每 5 秒)使用 aiohttp 向 40 个不同的 restful API 端点发出 GET 请求,事件循环中有 40 个协程。

阅读此处 https://aiohttp.readthedocs.io/en/stable/client_quickstart.html 的文档后,我怀疑最好使用 40 aiohttp.ClientSessions,每个端点一个。但我不确定整个应用程序是否更合适。如果单个会话包含一个连接池,那么处理 40 个端点听起来很不错。

测试性能非常重要,因为端点有一定数量的 noise/variance。我真的希望熟悉该库的人可以概述何时需要多个 ClientSession。

您可以根据需要拥有任意数量的 session(40 个绝对没问题)。它们可以存储在应用程序级别的一些字典中。因此,在您能够使用确切的 session 之后,您需要一些关键。

还有一点,我认为 session 根本没有保持联系。它更像是存储 cookie 和其他 HTTP headers,供您以后的请求使用。