ab测试并发100时mysql查询会慢

ab测试并发100时mysql查询会慢
就是查了个总数,已经900ms+了,这种正常么
环境 go version go1.15.5
mysql 使用的包是gorm
数据库引擎innodb
数据量:21条

explain:
ab测试并发100时mysql查询会慢

讨论数量: 15

肯定不正常啊

2年前 评论

慢的原因,可能是没有创建id索引,有索引的话可以直接获取总数,不用扫描表。如果创建索引了,还是依然很慢,那么你的vps可能被限制linux创建线程数,因为每个请求php需要创建一个线程,mysql也要创建一个线程,nginx不需要创建线程。如果大家有其他可能性麻烦给我留个言...

2年前 评论
j475523225 (楼主) 2年前
meooo (作者) 2年前
j475523225 (楼主) 2年前

explain 查看一下mysql的执行计划

2年前 评论
j475523225 (楼主) 2年前

试试 select count(*) from xxxmysqlcount(*)有些特别的优化.

2年前 评论
j475523225 (楼主) 2年前

用户平均请求等待时间(Time per request) 计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即 Time per request = Time taken for tests /( Complete requests / Concurrency Level)

2年前 评论

@j475523225 楼主解决了吗 我也遇到这样的情况

1年前 评论
nikkiing 1年前
j475523225 (楼主) 1年前

:joy:这个sql很简单,explain执行计划也没问题。可以从别的方面找找原因。比如网络?

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!