Как я могу измерить производительность VPS?
У меня есть VPS-сервер от LiquidWeb... такое ощущение, что иногда днем он тормозит. Поскольку он на 100% виртуален, я не могу просто проверить "top", чтобы измерить производительность, поскольку она измеряется в VPS. (Другими словами: если я никогда не запускаю что-либо на VPS, top всегда будет показывать одинаковое использование памяти и нулевую загрузку сервера, но поскольку VPS живет на совместно используемом физическом блоке, он все равно может колебаться в скорости.)
Есть ли способ измерить "реальную" скорость работы VPS? Я думал о том, чтобы просто взломать небольшой скрипт, который запускает цикл (что-то - действия с файлом или??) и записывает время, чтобы я мог начать строить историю... но я бы предпочел более надежный / фундаментальный стат.
3 ответа
Здравствуйте, у меня была похожая задача, и я сделал следующее (если сервер является Windows VPS):
- Определите, что является более важным для вашего приложения / среды (для сервера DB Prod вы можете ожидать высокую скорость чтения, ЦП) . Вы можете получить это из журнала приложений / событий и посмотреть, что является узким местом.
- Счетчики Perfmon для вещей, которые вы решили отслеживать на шаге 1 . Обязательно сделайте их достаточно подробными, чтобы получить хорошие данные, но не получайте их каждую минуту (обычно @30 минут должны дать вам общее представление)
Если у вас есть экземпляр MSSQL, обязательно следите за его производительностью и ограничениями CPU \ RAM.
Если у вас есть IIS, обязательно проверьте журналы, и если какое-либо приложение имеет "фатальные" ошибки
- Проверьте журналы IIS и получите счетчики производительности.
- Проверяйте журналы событий на наличие ошибок, обычно их исправление должно дать вам представление и даст небольшой импульс вашему VPS .
Для Linux VPS:
- top -s должен дать вам базовое представление о процессе и о том, какой из них занимает большую часть памяти
- чтобы проверить скорость чтения / записи, попробуйте скопировать что-нибудь и увидеть скорость. Что касается времени доступа к диску, вы можете выполнить запрос MySQL и посмотреть время выполнения (и самое главное, какая операция занимает больше всего в вашем запросе)
- смотрите dmesg для любых сообщений об ошибках и попытайтесь их исправить.
- если применимо, вы можете попытаться добавить его на сервер мониторинга Nagios (там также можно найти сценарии, которые помогут вам контролировать)
- просматривать журналы ваших приложений и сообщать о каких-либо проблемах с производительностью.
Определите, какие важные меры для вас, как: IO, CPU, Latecy, ...
Затем найдите подходящую тестовую программу, например, тестирование Disk IO bonnie++ - хороший выбор, но вы можете найти много других стандартных тестовых программ в Phoronix Test Suite.
Сделайте больше тестов на разных системах и сравните результаты.
А также проверьте системную статистику с помощью top, iotop, iftop во время тестов. Также, если провайдер предоставляет вам графики, как это делает Amazon, проверяйте их во время тестирования.
Обычно рекомендуется использовать iostat для измерения времени доступа к диску. Vmstat, чтобы увидеть вашу память и htop для процессора.
Если ваши работающие окна используют монитор производительности.
Обычно в виртуальных машинах узким местом является задержка доступа к диску.
Я мог бы дать вам некоторое представление о ваших проблемах с производительностью.