Назад | Перейти на главную страницу

Тестирование производительности облачной виртуальной машины

У меня есть виртуальная машина Linux, размещенная в облачной среде. Я подозреваю, что провайдер время от времени делает слишком много избыточного выделения ресурсов ЦП и операций ввода-вывода.

Например, postgresql сообщает 300 мс + запросов, которые выполняются менее чем за 5 мс в режиме объяснения анализа. Я также наблюдаю задержку с ssh, когда vCPU простаивает.

Какие инструменты можно использовать для отслеживания динамики производительности ЦП и операций ввода-вывода?

На самой коробке вы можете использовать vmstat и iostat (часть пакета sysstat).

  • vmstat 1 покажу вам steal, который представляет собой количество циклов ЦП, которые гипервизор отвел от виртуальной машины для выделения другим виртуальным машинам. Вы также можете посмотреть iowait, который представляет собой% циклов процессора, затраченных на ожидание завершения ввода-вывода.
  • iostat -x -d 1 покажу вам svctm и await; соответственно, среднее время, затрачиваемое базовыми устройствами на обслуживание запросов (после того, как они были обработаны планировщиком ввода-вывода), и среднее время ожидания для запросов ввода-вывода. Если какое-либо значение превышает ожидаемое (~ 10 мс), это должно быть верным признаком разногласий.