比如一个比较简单的查询,根据用户id查询这个用户的信息,正常情况下都是几ms的响应时间。
当qps到达几千每秒时,总有0.1%不到的比例的查询,响应时间会达到十几或者几十ms,如果是对响应时间要求高的情况,可能就超时了。
服务器资源给的非常充足,每台服务器的cpu使用率连10%都不到,仍然会有这种情况。这样的话即使再加服务器,也没法解决问题。
这种情况可能是什么原因呢,有办法通过调优吗,达到在服务器负载不高的情况下,接近100%的快速响应。
当qps到达几千每秒时,总有0.1%不到的比例的查询,响应时间会达到十几或者几十ms,如果是对响应时间要求高的情况,可能就超时了。
服务器资源给的非常充足,每台服务器的cpu使用率连10%都不到,仍然会有这种情况。这样的话即使再加服务器,也没法解决问题。
这种情况可能是什么原因呢,有办法通过调优吗,达到在服务器负载不高的情况下,接近100%的快速响应。
3 个回复
JingSQ - 招聘Elasticsearch内核研发工程师
赞同来自: byx313
要解决这个办法,最有效的就是使用补偿查询的方式,当某个请求耗时超过一定比率后,比如超过5ms还未返回,则立即再发出一条一模一样的请求,哪个优先返回用哪个。
viewsite
赞同来自:
wangxinrong
赞同来自: