@grinias отправил данные в личку
все живет на RAID5
по логам iostat видно, что IO деградирует до await ~1000мс в тот момент, когда прожорливый процесс не прижат.
просадка идет когда avgrq-sz (средний размер запроса в секторах) падает ниже 35
когда есть ограничения:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 4,08 0,00 32,65 172,45 4,18 3,99 81,51 18,98 94,91 20,62 108,97 4,94 101,22
sdb 7,14 0,00 23,47 137,76 3,83 2,93 85,87 19,34 125,82 15,48 144,62 5,24 84,49
sdb 8,25 0,00 26,80 114,43 4,25 2,67 100,44 10,99 71,12 8,46 85,80 6,72 94,85
когда нет ограничений:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0,00 0,00 2,02 183,84 0,25 2,34 28,52 147,95 1028,26 786,00 1030,92 5,43 101,01
sdb 0,00 2,04 2,04 175,51 0,26 2,09 27,03 141,40 768,00 662,00 769,23 5,75 102,04
sdb 0,00 0,00 3,96 148,51 0,50 1,98 33,19 109,37 717,95 566,00 722,00 6,49 99,01
вывод:
и с прижатым процессом диску уже тяжело. жить с временем ответа 80мс не очень комфортно. но тут зависит от требования заказчика.
когда тормоза убирают, то устройство заваливают мелкими запросами на запись
узкое место в настоящий момент - это конфигурация устройства (5+ RAID, 1ТБx8)
что делать:
тут 3 варианта:
уйти от RAID 5 - тормоза возникают при записи, когда нужно сделать много работы по вычислению контрольной суммы.
или жить с прижатым процессом (медленно, но живем)
или оптимизировать прожорливый запрос (напрягаем мозг)
но лучше уйти от RAID5
http://gsbelarus.com/gs/wiki/index.php/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83_%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C_RAID_5_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85