记一次代码优化过程

1. 原始场景再现:
该模块主要是客户端负责上传一个包含手机号码的txt,其中一行一个手机号码。服务端读取并解析该文件,解析过程中需要做有效性验证。例如:号码位数,是有效数字及是否在有效号段之内。最后保存数据到DB。
该包含手机号码文件数据在20W到200W之间。

2. 问题所在
在客户端上传20W数据的时候,后台相应很慢,查看后台的CPU及内存
mpstat -P ALL 1   //查看LINUX系统内存及CPU的消耗情况
发现CPU一直处在100%状态下,而且消耗的时间很长。近十分钟也没有回复到客户端。

3. 问题详解
首先查看代码。列下原代码思路:
1) 使用apache的公用包来处理文件的上传,保存客户端文件到服务