В настоящее время мы исследуем высокую задержку диска на Windows server 2012 r2, который работает как сервер SQL. Это виртуальная машина под управлением VMware, и хранилище данных неисправного диска связано с очень высокопроизводительным LUN в SAN.
SAN показывает очень хорошее время отклика для LUN даже во время инцидентов и во время моего тестирования. Хранилище данных также показывает очень хорошее время отклика в любой момент. ЦП и память не являются узким местом, я дважды проверил.
Microsoft предложила нам использовать diskspd для проверки производительности наших дисков. Вот результат двух тестов. Я запускал их пару раз, с более длительным интервалом и в разное время, поэтому уверен, что результат не случаен.
Командная строка: diskspd -b64k -o32 -t4 -d60 -w50 -Sw -r -L - c20G -Z1G C: \ iotest.data
Всего операций ввода-вывода
SAN показывает очень хорошее время отклика для LUN даже во время инцидентов и во время моего тестирования. Хранилище данных также показывает очень хорошее время отклика в любой момент. ЦП и память не являются узким местом, я дважды проверил.
Microsoft предложила нам использовать diskspd для проверки производительности наших дисков. Вот результат двух тестов. Я запускал их пару раз, с более длительным интервалом и в разное время, поэтому уверен, что результат не случаен.
Командная строка: diskspd -b64k -o32 -t4 -d60 -w50 -Sw -r -L - c20G -Z1G C: \ iotest.data
Всего операций ввода-вывода
SAN показывает очень хорошее время отклика для LUN даже во время инцидентов и во время моего тестирования. Хранилище данных также показывает очень хорошее время отклика в любой момент. ЦП и память не являются узким местом, я дважды проверил.
Microsoft предложила нам использовать diskspd для проверки производительности наших дисков. Вот результат двух тестов. Я запускал их пару раз, с более длительным интервалом и в разное время, поэтому уверен, что результат не случайный.
Командная строка: diskspd -b64k -o32 -t4 -d60 -w50 -Sw -r -L - c20G -Z1G C: \ iotest.data
Всего операций ввода-вывода Вот результат двух тестов. Я запускал их пару раз, с более длительным интервалом и в разное время, поэтому уверен, что результат не случайный.
Командная строка: diskspd -b64k -o32 -t4 -d60 -w50 -Sw -r -L - c20G -Z1G C: \ iotest.data
Всего операций ввода-вывода Вот результат двух тестов. Я запускал их пару раз, с более длительным интервалом и в разное время, поэтому уверен, что результат не случаен.
Командная строка: diskspd -b64k -o32 -t4 -d60 -w50 -Sw -r -L - c20G -Z1G C: \ iotest.data
Всего операций ввода-вывода поток | байты | Ввод / вывод | МБ / с | Ввода / вывода в секунду | AvgLat | LatStdDev | файл
12623020032 | 192612 | 200,59 | 3209.46 | 38.636 | 21.687
Командная строка: diskspd -b64k -o32 -t4 -d60 -w50 -Su -r -L -c20G -Z1G C: \ iotest.data
Всего операций ввода-вывода поток | байты | Ввод / вывод | МБ / с | Ввода / вывода в секунду | AvgLat | LatStdDev | файл
78517239808 | 1198078 | 1247.71 | 19963.34 | 6.410 | 8.202
Согласно документации к diskspd -Sw отключить запись через IO и -Su отключить программное кеширование. Позвольте мне указать, что с параметром -Sw или без него в первой командной строке результат будет таким же , давая мне понять, что этот флаг не оказывает большого влияния. С помощью этого инструмента (созданного и управляемого командой Windows) мы могли сделать вывод, что кэш (отключение с помощью -Su) снижает производительность диска, но это не кажется правильным.
У меня следующие вопросы:
Почему программное кеширование ниже производительность ?
Влияет ли это на работающее приложение так же, как на этот тест ?
IOMeter дает такую же производительность, как тест без программного обеспечения. кеширование, почему?
Спасибо,
Вы неправильно понимаете, что делает -Sw
.
Как указано в diskspd
docs , -Sw
фактически обходит кэш записи ОС, поскольку он открывает целевой файл с помощью FILE_FLAG_WRITE_THROUGH.
Что меня удивило, так это то, что ваша SAN вообще соблюдает этот флаг: наличие защищенного от потери мощности кеша записи, SAN и массивы хранения обычно не учитывают флаг записи.
С другой стороны, небуферизованный и незаписываемый тест показывает значительно улучшенные результаты.
Может быть это ваша настоящая проблема: ваша SAN соблюдает (вероятно, бесполезно, конечно, имеет постоянный кеш) флаг записи.
Вы меняете две переменные, буферизованные и сквозные, поэтому вы не можете сказать, что изменилось. Лучшее сравнение было бы между -Sb
"с буферизацией" и -Su
"без буферизации".
На самом деле, весьма вероятно, что -Sw убивает вашу производительность. Любой массив хранения, заслуживающий того, чтобы называться таковым, имеет кеш записи, поэтому записи могут быть подтверждены быстрее, чем они могут быть зафиксированы на дисках в массиве. Сквозная запись может обойти это.
Постоянная проверка всех доступных компонентов массива, SAN и хоста, программного и аппаратного обеспечения.