重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了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许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。