文章目录

第一部分 问题说明

1.压测 300线程,5s内启动,5个循环(1000条不同的uid)时 压测,数据如下:

报错信息如下:

报错率:7.00%

吞吐率(默认情况下表示每秒完成的请求数):47.2/sec

根据研发查问题,发现报错是因为慢查询导致的,因此做了sql语句优化;

2.优化后,300线程,5s内启动,5个循环(1000条不同的uid)时 压测,发现错误率为0;

3.于是增加线程数量,500线程,5个循环(1000条不同的uid)时 压测,数据如下:

报错率:4.52%

吞吐率(默认情况下表示每秒完成的请求数):58.5/sec

情况依然不太好,于是让研发继续想办法

4.最后跟产品商量,把部分功能下线,并把线上数据删除,500线程,5个循环(1000条不同的uid)时 压测,结果如下:

报错率:0.00%

吞吐率(默认情况下表示每秒完成的请求数):231.0/sec

这个结果最后经大家讨论可以接受,明天过下功能,打算上线,

总结一下:

sql优化 后,数据库5W多条数据情况下:

1
2
3
4
5
6
7
8

从300并发,5s内启动,7.2%的报错,

优化到

300并发,5s内启动,无报错,

500并发,5s内,启动,报错4.52%

删掉数据库数据 优化后:

1
2
3
4
5
6
7
8

从500并发,5s内,启动,报错4.52%

优化到

500并发,5s内,启动,无报错

且Throuthput(默认情况下表示每秒完成的请求数)由58.5/SEC上升到231/SEC
文章目录