Как я могу определить, где мой Windows Server 2012 использует операции случайного или последовательного ввода-вывода при записи / чтении локального хранилища SSD?
Меня попросили предоставить нашему поставщику оборудования подробные сведения об использовании сервера, чтобы настроить его производительность. Они хотят знать, используем ли мы случайный или последовательный. На серверах работает SQL Server 2012. Я хотел бы иметь возможность собирать некоторую статистику и / или журналы, которые показывают различные операции ввода-вывода, чтобы определить, используем ли мы случайный или последовательный ввод-вывод, и в каком количестве и когда. Я предполагаю, что это можно сделать с помощью некоторых счетчиков монитора производительности или какого-либо другого типа событий трассировки. Надеюсь, это лучше объясняет ситуацию.
На твердотельных накопителях последовательный ввод-вывод не с той же скоростью, что и произвольный ввод-вывод, даже если нет движущихся частей. Спецификации SSD-накопителя это ясно показывают.
Возвращаясь к исходному вопросу, это вопрос, является ли рабочая нагрузка x% последовательной и y% случайной.
В мире Linux для этого есть утилита blktrace. В мире Windows я сейчас в поисках и скоро узнаю. Я слышал от SNDK Perf Engr, что есть perfstat, так что я подтверждаю это утверждение.
--SSD
Я не знаю хороших инструментов, прямо с сервера. Вместо этого я бы порекомендовал ответить на их вопрос вопросом: если вы выполняете ввод-вывод на SSD, который не имеет движущихся частей и, следовательно, выполняет последовательный ввод-вывод с той же скоростью, что и случайный ввод-вывод, зачем им это нужно? Пытаются ли они установить для вас размер нового хранилища, которое частично было бы на обычном диске?