У меня есть база данных, запущенная на сервере Windows, который я отслеживаю с помощью Hyperic. Я вижу, что количество операций записи в минуту увеличивается в течение дня по мере приближения к нашей пиковой нагрузке. Пики постепенно увеличиваются по мере того, как мы добавляем в систему больше пользователей. С другими ресурсами (например, ЦП, памятью или дисковым пространством) довольно легко увидеть, какой будет максимум, и убедиться, что мы подготовили дополнительные ресурсы, прежде чем они закончатся. Можно ли получить хотя бы приблизительное прогнозирование максимального количества операций записи в минуту? В качестве альтернативы, мне просто нужно подсчитать количество записанных на диск и посмотреть, когда что-то начнет выходить из строя, я предполагаю, что моя очередь на диске будет лучшим индикатором того, что я превышаю возможности диска / массива.
== РЕДАКТИРОВАТЬ ==
В качестве дополнительных деталей я использую SQL Server 2005, и причина, по которой меня так интересуют записи, заключается в том, что количество операций записи на диск в настоящее время превышает количество операций чтения примерно в 30 раз. Я предполагаю, что тогда запись, вероятно, будет узким местом перед любой другой дисковой активностью. Приложение, которое он поддерживает, в основном является OLTP, хотя мы также делаем отчеты на основе имеющихся данных.
Короткий ответ: Прогноз - нет, тест - да.
Длинный ответ: Я не думаю, что это поможет в том, чего вы пытаетесь достичь, что, я считаю, - это планирование емкости дисков, на которых работает ваш сервер db.
Какой вид RMDBS работает на сервере? Какое приложение работает в базе данных? OLTP, поддержка принятия решений, DW / отчетность? разные приложения и группы приложений будут иметь разные профили нагрузки на диск, поэтому прогнозирование / измерение просто производительности записи, скорее всего, совершенно бессмысленно.
Мне, как специалисту по SQL Server, важны дисковые подсистемы. Для тестирования я использую SQLIO для проверки производительности чтения / записи при сравнении дисковых подсистем / конфигураций дисков. SQLIO - это автономный исполняемый файл, который можно использовать для тестирования чтения / записи разными способами, SQLIO GUI тоже помогает. Вы можете использовать этот инструмент для определения «максимального количества операций записи».
Вообще говоря, вы не должны полагаться на один счетчик как на индикатор узкого места ввода-вывода. Вот индикаторы, которые я ищу, которые указывают на то, что серверу нужно больше шпинделей:
• Объект PhysicalDisk: Сред. Disk Queue Length / количество дисков: Значение, которое постоянно превышает 2, когда сервер находится под нагрузкой, указывает на узкое место.
• Физический диск:% времени на диске Все, что выше 60%, является серьезным узким местом
• Средн. Disk Sec / Read и Avg. Диск Сек / Запись: