В настоящее время я тестирую жесткий диск. Я использую HW32 для измерения.
Результат состоит из двух частей:
random seek time: 20 ms
random read throughput: 30 Mbytes/s
Я не уверен, какие методы HW32 использовал для теста.
Но я нахожу это очень странным для результата случайного времени поиска.
Насколько я понимаю, случайное время поиска означает the time that is spent on where a specific data is
. Так что я предполагаю, что random read
должен содержать много раз random seek
, право?
Например, я пытаюсь прочитать с диска 100 МБ данных. А из-за фрагментов диска у него 1000 случайных блоков на диске, каждое место имеет 100 КБ данных. Когда я его прочитаю, головке диска придется переместиться 1000 раз, чтобы найти все блоки данных, верно?
Так что если random seek time is 20ms
, значит ли это, что нам придется потратить 1000 * 20 = 20 000 мс = 20 секунд на случайный поиск? Думаю, нет, правда?
Кто-нибудь может мне объяснить? Если тест вроде HW32 говорит мне random seek time = 20 ms
, что это значит? Это значит total random seek time for a random read
или average seek time
?
Спасибо
Вы предполагаете, что система ищет случайные блоки в случайном порядке. Этого никогда не случится.
Если вам нужно что-то купить в случайно выбранном магазине, вам может потребоваться в среднем два часа, чтобы добраться до этого магазина, забрать что-то и затем поехать обратно. Но если бы вам пришлось ехать в 1000 случайно выбранных магазинов, это не заняло бы у вас двух часов на каждый магазин, потому что вы выбрали бы оптимальный заказ. Некоторые магазины будут рядом друг с другом. И так далее.
Время случайного поиска - это среднее время, необходимое диску для достижения позиции, в которой расположены данные, и чтения одного блока (или даже одного сектора). Реальные значения могут быть как намного выше, так и намного ниже этого.
Для скорости случайного чтения обычно существует более одного чтения блока в одной и той же позиции для вычисления среднего значения, поэтому эта скорость зависит как от времени поиска, так и от пропускной способности линейного чтения, которую имеет накопитель.
На современных дисках даже есть способы увеличить скорость передачи с помощью техники, называемой Собственная очередь команд Это позволяет им использовать запросы, чтобы минимизировать движения головы.
Ваши цифры немного странные. Средняя задержка в 20 мс означает 50 операций ввода-вывода в секунду, и для того, чтобы эти 50 операций ввода-вывода в сумме составляли 30 МБ, вам необходимо использовать сектор необычно большого размера. Есть ли вероятность, что они сообщают о пиковых значениях, а не о среднем?
20 мс - вполне обычное значение для накопителя потребительского уровня.