ab测试并发100时mysql查询会慢
就是查了个总数,已经900ms+了,这种正常么
环境 go version go1.15.5
mysql 使用的包是gorm
数据库引擎innodb
数据量:21条
explain:
不正常
肯定不正常啊
慢的原因,可能是没有创建id索引,有索引的话可以直接获取总数,不用扫描表。如果创建索引了,还是依然很慢,那么你的vps可能被限制linux创建线程数,因为每个请求php需要创建一个线程,mysql也要创建一个线程,nginx不需要创建线程。如果大家有其他可能性麻烦给我留个言...
explain 查看一下mysql的执行计划
试试
select count(*) from xxx
,mysql
对count(*)
有些特别的优化.用户平均请求等待时间(Time per request) 计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即 Time per request = Time taken for tests /( Complete requests / Concurrency Level)
@j475523225 楼主解决了吗 我也遇到这样的情况
:joy:这个sql很简单,explain执行计划也没问题。可以从别的方面找找原因。比如网络?