经过多重定位,发现从库的IOPS使用率快接近100%了,同时发现有些慢查询
"query":{"find":"historyRecord","filter":{"bizId":1234567,"version...":23},"sort":{"_id":-1},"limit":1}}
索引是bizId,version的联合索引
问题分析
这几个查询造成的线上问题的形式虽然各有不同,但本质上都是一样,无法利用索引排序...比如例3,bizId,versionid是不是本身可以作为有序的,版本号versionid可以设计成有序的,这样就不需要根据主键_id来保持有序
减少并发 是不是所有的这类查询都是必须的,能不能接受缓存...增加一个联合索引 比如例3可以增加一个bizId,version,_id联合索引 "query":{"find":"historyRecord","filter":{"bizId":1234567,"version