性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)

问题描述:某仓储系统波次定位时,单波次无积压(10000订单,4500sku种类)处理时间耗时433秒,处理效率低

问题分析:经了解,波次定位包含:调用stock接口、分配、保存入库三个子处理流程。其中调用stock接口采用

   单线程方式。单波次调用stock接口的次数=sku种类数/11,约410次,且每次调用耗时约519ms

性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)

优化方案:调用stock接口采用多线程方式,需注意对stock应用资源的影响。

优化前相关代码

性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)

 

优化后代码

性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)

优化结果:

优化后:

1)调用stock接口耗时由212缩减为33,耗时缩短638%。见下图:

性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)

 

2)波次定位TPS由87提升到127,整体提升45.9%。见下图:

性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)