最近压公司的新项目,一切从零开始,所以存在一些很初级的性能问题。记录一个定位sql语句性能问题的小例子:
以100TPS压app登录协议,压力曲线如下:
可以看到从4分钟开始,有大量业务失败了。观察应用服务器资源情况:
IIS平均CPU占用28%,平均内存986M,平均线程数64,内存略高,其他没有太大异常。再看数据库服务器的资源情况:
Cpu一直上涨,最后满负荷。查询到app登录后反复执行这条语句:
SELECT COUNT(*) FROM bc_sale_app_login_info WHERE UUID = 'afe325ec-85a5-421f-8493-d6b1d5bbbc5c'
其中的UUID不是索引,问题根源找到。