Подскажите, как понять какие запросы в каких локах висят в конкретный момент? У нас select'ы обычно обрабатываются ~5 секунд, в некоторые моменты видим резкое замедление (>150 секунд, см. пример запросов на картинке). При этом видно, что часть запросов даже не читает данные (висят в lock? в каком / куда?). Также в этот момент видим резкий рост RWLockActiveReaders (> 100, обычно < 10).
Может есть у кого идеи что/где посмотреть?
Первый в списке запрос обычно выполяется в пределах 1 секудны.
query_log включили, но что имеено ждал запрос непонятно:
['Query','SelectQuery','FileOpen','Seek','ReadBufferFromFileDescriptorRead','ReadBufferFromFileDescriptorReadBytes','ReadCompressedBytes','CompressedReadBufferBlocks','CompressedReadBufferBytes','IOBufferAllocs','IOBufferAllocBytes','ArenaAllocChunks','ArenaAllocBytes','FunctionExecute','MarkCacheHits','CreatedReadBufferOrdinary','DiskReadElapsedMicroseconds','SelectedParts','SelectedRanges','SelectedMarks','ContextLock','RWLockAcquiredReadLocks','RealTimeMicroseconds','UserTimeMicroseconds','SystemTimeMicroseconds','SoftPageFaults']
[1,1,306,342,1263,17480414,4080595,695,57656057,1371,30059123,403,1650688,5598,306,306,4000,12,105,430,985,20,266184321,172244,7671,5104]
['max_query_size','use_uncompressed_cache','load_balancing','log_queries','max_ast_elements','max_memory_usage']
['10000000','0','random','1','800000','20000000000']