# asyncload **Repository Path**: zhangjunfang/asyncload ## Basic Information - **Project Name**: asyncload - **Description**: 异步并行加载工具(依赖字节码技术) - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-06-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
前段时间在做应用的性能优化时,分析了下整体请求,profile看到90%的时间更多的是一些外部服务的I/O等待,cpu利用率其实不高,在10%以下。 单次请求的响应时间在50ms左右,所以tps也不会太高,测试环境压力测试过程,受限于环境因素撑死只能到200tps,20并发下。
思路
正因为考虑到I/O阻塞,长的外部环境单个请求处理基本都是在几十ms,最终的出路只能异步+并行,从而诞生了该开源产品
名称:asyncload
译意: async cocurrent load
语言: 纯java开发
定位: 业务层异步并行加载工具包,减少页面响应时间
原理描述:
1. 针对方法调用,基于字节码增强技术,运行时生成代理类,快速返回mock对象,后台异步进行调用
2. 通过管理和调度线程池,将后台异步调用进行加速处理,达到一个平衡点
3. 业务执行过程需要获取mock对象的真实数据时,阻塞等待原始结果返回,整个过程透明完成
很明显,经过异步并行加载后,一次request请求总的响应时间就等于最长的依赖关系请求链的相应时间。
1. qq交流群: 161559791
2. 邮件交流: jianghang115@gmail.com
3. 新浪微博: agapple0002
4. 报告issue:issues