通过分析得出,查询和循环处理占时短,大部分时间花费在了es的bulk插入上,调优方向就是优化es批量
#sleep(1)的情况
100万数据 读5万 写1万 201秒
100万数据 读5万 写5万 207秒
100万数据 读10万 写1万 203秒
100万数据 读10万 写5万 203秒
100万数据 读10万 写10万 219秒
100万数据 读1万 写1万 344秒
#不加sleep的情况
100万数据 读5万 写1万 205秒
100万数据 读5万 写5万 209秒
100万数据 读10万 写1万 208秒
100万数据 读10万 写5万 198秒
100万数据 读10万 写10万 200秒
100万数据 读1万 写1万 227秒
100万数据 读1万 写5000 226秒
mysql查询效率还可以,es批量写入造成缓慢:
100万数据查询插入消耗250秒
调增’refresh_interval’ => ’30s’,100万数据查询插入230
调增’refresh_interval’ => ’60s’,100万数据查询插入221
调增’refresh_interval’ => ’60s’,100万数据查询插入229
每次插入1000查询插入240
100万数据查询12秒
100万数据查询逻辑循环18秒
500万查询73
500万查询逻辑循环92