热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

aiohttpmysql线程池_pythonaiohttp性能:在主线程上执行connect

我有以下代码importasyncioimportaiohttpurls[http:54.224.27.241,http:54.224.27.241,http:54.224.27.

我有以下代码import asyncio

import aiohttp

urls = [

'http://54.224.27.241',

'http://54.224.27.241',

'http://54.224.27.241',

'http://54.224.27.241',

'http://54.224.27.241',

]

async def query(urls):

out = []

with aiohttp.ClientSession() as session:

for url in urls:

try:

async with session.get(url, timeout=5) as resp:

text = await resp.text()

out.append(resp.status)

except:

print('timeout')

return out

loop = asyncio.get_event_loop()

out = loop.run_until_complete(query(urls))

loop.close()

print(str(out))

该代码比使用线程池的代码慢得多,并且如果增加url的数量(比如20、50等),代码会不断增加

我有一种感觉,当初始连接建立不是以异步方式完成时。在

(请注意,我在这里连接到一个不存在的服务器以故意产生连接超时)。在

有人能指出这里出了什么问题吗?在



推荐阅读
author-avatar
李林1108_965
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有