成都网站建设设计

将想法与焦点和您一起共享

Python并发请求下如何实现限制QPS-创新互联

这篇文章主要为大家展示了Python并发请求下如何实现限制QPS,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

创新互联建站-专业网站定制、快速模板网站建设、高性价比文成网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式文成网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖文成地区。费用合理售后完善,10余年实体公司更值得信赖。

前两天有一个需求,需要访问某API服务器请求数据,该服务器限制了QPS=2,因为QPS很小所以就使用阻塞式请求。后来开通了服务,QPS提高到了20,阻塞式请求满足不了这个QPS了,于是使用了GRequests来并发请求数据,但这里又遇到了一个问题:并发太快,服务器通过发送错误码拒绝了很多数据的响应,造成了资源的浪费。
故在此记录以下几种 节流(Throttle) 方法:

以下均假设有如下包和数据前提:

import grequests

urls = [
 "https://www.baidu.com",
 "https://www.google.com"
]
requests = [
 grequests.get(url)
 for url in urls
] * 1000

rate = 20 # 表示 20 请求/秒

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:Python并发请求下如何实现限制QPS-创新互联
本文地址:http://chengdu.cdxwcx.cn/article/coshod.html