为了账号安全,请及时绑定邮箱和手机立即绑定

Java如何设计频繁HTTP请求(至少13w次)的统计程序?

Java如何设计频繁HTTP请求(至少13w次)的统计程序?

PIPIONE 2019-04-20 18:15:35
1.场景描述  现有基础数据13w条,需循环通过第三方HTTP接口获取历史数据进行分析统计,意味着要发生13w次HTTP请求。接口请求速度还比较慢,平均每次请求需要1s,如果在单线程的情况下至少需要36个小时,目前我设计的是使用多线程每3w条作为一个任务进行请求,目前的消耗时间大概能减少到16小时左右,但效率还是太低了,有没有大佬有更好的解决方案的?求Help!!2.部署环境  系统:CentOS7  配置:单CPU双核
查看完整描述

4 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

使用线程池,容量为30就差不多,这样时间大概是130000/3600/15两个小时多一点吧,
线程看起来挺多其实还好因为你这个不是cpu密集的工作,时间都消耗在请求阻塞等待上了

查看完整回答
反对 回复 2019-05-14
?
莫回无

TA贡献1865条经验 获得超7个赞

这个东西要改第三方接口吧。不然咋优化都慢,毕竟要13万次请求咋弄都不行,第三方接口改为,一次接受13w条数据,然后第三方接口1次返回13w条结果,这是最快的办法

不然最快的就是开线程了,没有其他办法


查看完整回答
反对 回复 2019-05-14
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

能不能多部署几台机器呢。


查看完整回答
反对 回复 2019-05-14
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

单台服务器IO就是一个大限制了,即使增加线程也没什么用,还要考虑怎么最大化利用IO,又不会导致因为资源竞争而导致卡慢


查看完整回答
反对 回复 2019-05-14
  • 4 回答
  • 0 关注
  • 811 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信