Python 持续每秒对 API 服务器发送 2000 个 HTTP 请求的比较好的解决方案?

2018 年 9 月 29 日
 whereabouts
HTTP 的 Session 没什么要求。目标是一个 API 服务器,所以只有 1 个 IP。
或者还是 Nodejs/Golang 实现起来更合适一点?
8021 次点击
所在节点    程序员
22 条回复
zhengyongtao
2018 年 9 月 29 日
用 tornado
lniwn
2018 年 9 月 29 日
aiohttp clientsession, per_host_limit=2000,对于 1 秒这个问题,如果要求不是很严格,ayncio.sleep 即可。
iBaoger
2018 年 9 月 29 日
apache ab 不好用吗
whereabouts
2018 年 9 月 29 日
忘了说了,需求是可自定义 HTTP 请求的 Header、Cookie、Url 参数。 不过一般都能做到吧,主要是考虑下用哪个方案合适一点。
owenliang
2018 年 9 月 29 日
你会啥用啥呗。
Akikiki
2018 年 9 月 29 日
Locust
Qzier
2018 年 9 月 29 日
有现成的工具为什么不用? nodejs 写的 loadtest,c 语言写的 wrk。
Kilerd
2018 年 9 月 29 日
2000qps 先考虑一下数据库的优化吧,python 的极大框架都能撑起这个 qps。
实在不行就用 docker,横向扩展做负载均衡
uwh0am1
2018 年 9 月 29 日
aio
crawl3r
2018 年 9 月 29 日
requests + gevent + 多进程
ltoddy
2018 年 9 月 29 日
asyncio + urlopen + concurrent.futures.ThreadExecutorPool
EINDEX
2018 年 9 月 29 日
aiohttp
my3157
2018 年 9 月 29 日
是压测么? 试试 tsung
gimp
2018 年 9 月 29 日
试试 wrk 呢
qq976739120
2018 年 9 月 29 日
ab
yc8332
2018 年 9 月 29 日
go 吧。2000 个 goroutine 又简单。
janxin
2018 年 9 月 29 日
https://locust.io/ 现成的框架提交个任务不就行了
Leigg
2018 年 9 月 29 日
go 一下很轻松
exiaohao
2018 年 9 月 29 日
自己撸代码就 requests + gevent, 闲得蛋疼用 celery 也可以啊
楼上说的 Locust 也可以了解一下~
zhzer
2018 年 9 月 29 日
http 测试用 go 写很简单

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/493718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX