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

1.场景描述

  现有基础数据13w条,需循环通过第三方HTTP接口获取历史数据进行分析统计,意味着要发生13w次HTTP请求。接口请求速度还比较慢,平均每次请求需要1s,如果在单线程的情况下至少需要36个小时,目前我设计的是使用多线程每3w条作为一个任务进行请求,目前的消耗时间大概能减少到16小时左右,但效率还是太低了,有没有大佬有更好的解决方案的?求Help!!


2.部署环境

  系统:CentOS7

  配置:单CPU双核


PIPIONE
浏览 812回答 4
4回答

杨魅力

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

莫回无

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

尚方宝剑之说

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

叮当猫咪

单台服务器IO就是一个大限制了,即使增加线程也没什么用,还要考虑怎么最大化利用IO,又不会导致因为资源竞争而导致卡慢
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java