性能问题诊断-线程篇二(通过单线程改为多线程来优化业务处理耗时)
问题描述:某仓储系统波次定位时,单波次无积压(10000订单,4500sku种类)处理时间耗时433秒,处理效率低。
问题分析:经了解,波次定位包含:调用stock接口、分配、保存入库三个子处理流程。其中调用stock接口采用
单线程方式。单波次调用stock接口的次数=sku种类数/11,约410次,且每次调用耗时约519ms。
优化方案:调用stock接口时采用多线程方式,需注意对stock应用资源的影响。
优化前相关代码
优化后代码
优化结果:
优化后:
1)调用stock接口耗时由212秒缩减为33秒,耗时缩短638%。见下图:
2)波次定位TPS由87提升到127,整体提升45.9%。见下图: