1

У меня есть запрос на выборку postgresql, который потребляет только 12% ЦП и практически не использует память, но все равно для выполнения требуется около минуты.

Я сразу попытался проверить IO, используя iotop. Конечно же, в столбце «IO>» iotop мой процесс показывал значения в диапазоне 90-100.

Пара вопросов: это дробный процент от всех доступных операций ввода-вывода? Как это рассчитывается? Мой жесткий диск - 7200 об / мин, а вся таблица - всего 10 миллионов строк. Всегда ли IO ограничено скоростью чтения жесткого диска или это может быть другая проблема?

1 ответ1

0

Посмотрите на этот вопрос: https://unix.stackexchange.com/questions/282225/how-does-iotop-calculate-the-relative-io-activity.

Столбец ввода-вывода показывает процент времени процесса, потраченного на ожидание операций ввода-вывода. Так что это не связано с глобальным использованием диска.

В комментариях вы указали, что ваш диск читает со скоростью ~ 130 МБ / с. У меня здесь HD 5400 об / мин, и я проверил мой системный раздел с помощью gnome-дисков и не мог получить более 100 МБ / с при чтении. Поэтому, возможно, ваш диск не в состоянии справиться со всей этой нагрузкой, и поэтому запрос медленный.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .