Почему diskspd лучше работает без кеша?

В настоящее время мы исследуем высокую задержку диска на 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 дает такую ​​же производительность, как тест без программного обеспечения. кеширование, почему?

Спасибо,

1
задан 19 December 2016 в 16:34
2 ответа

Вы неправильно понимаете, что делает -Sw .

Как указано в diskspd docs , -Sw фактически обходит кэш записи ОС, поскольку он открывает целевой файл с помощью FILE_FLAG_WRITE_THROUGH.

Что меня удивило, так это то, что ваша SAN вообще соблюдает этот флаг: наличие защищенного от потери мощности кеша записи, SAN и массивы хранения обычно не учитывают флаг записи.

С другой стороны, небуферизованный и незаписываемый тест показывает значительно улучшенные результаты.

Может быть это ваша настоящая проблема: ваша SAN соблюдает (вероятно, бесполезно, конечно, имеет постоянный кеш) флаг записи.

0
ответ дан 4 December 2019 в 05:30

Вы меняете две переменные, буферизованные и сквозные, поэтому вы не можете сказать, что изменилось. Лучшее сравнение было бы между -Sb "с буферизацией" и -Su "без буферизации".

На самом деле, весьма вероятно, что -Sw убивает вашу производительность. Любой массив хранения, заслуживающий того, чтобы называться таковым, имеет кеш записи, поэтому записи могут быть подтверждены быстрее, чем они могут быть зафиксированы на дисках в массиве. Сквозная запись может обойти это.

Постоянная проверка всех доступных компонентов массива, SAN и хоста, программного и аппаратного обеспечения.

0
ответ дан 4 December 2019 в 05:30

Теги

Похожие вопросы