Играть без "тормозов" или как я сделал RAID массив для онлайн-игры
Все это подвигло меня начать эксперименты над ускорением работы с дисками. В то время SSD-накопители существовали только в военно-космических проектах и о них мало кто слышал вообще; это сейчас любой желающий за относительно скромную сумму (2500-3500 руб.) может приобрести пристойный SSD емкостью в 30-40 Гбайт, но в сравнении с ценами на жесткие диски механического типа это совершенно неразумная трата средств. Почему? Элементарно. SSD емкостью в 40 Гбайт обойдется примерно в 3500 руб., а жесткий диск объемом в 80 Гбайт вдвое дешевле. Впрочем, уже за 1200 руб. можно приобрести 250-Гбайт модель HDD. Итого: имеем или один твердотельный накопитель минимальной емкости, или четыре 80-Гбайт, или три 250-Гбайт хранилища за ту же цену.
Конечно, емкость не столь критична: редкая игра займет 40 Гбайт, как правило, в эти рамки втиснется три-четыре неплохие игрушки. Но сразу закрадывается мысль: почему за те же деньги не получить «еще больше»? В итоге я решил провести эксперимент с разными объемами.
Естественно, речь шла о RAID-массиве, причем о варианте RAID 0. Такой тип массива позволяет достичь максимального быстродействия при очень невысокой надежности (в случае отказа любого из дисков данные теряются безвозвратно). Да, это неприятно, но в моем случае абсолютно некритично: игровые данные хранятся на сервере, а восстановить клиент игры из архива — дело недолгое.
Итак, в качестве первого эксперимента я создал массив из двух дисков емкостью 250 Гбайт. Почему не 80? Да просто из жадности к дополнительным объемам.
Подключение дисков в массив не составило труда: учитывая, что оба имеющиеся в моем системном блоке HDD включены в стандартные порты, я подсоединил оба диска к портам из комплекта RAID-контроллера и включил поддержку в BIOS. Единственная операция, которая потребовалась,— зайти в настройки массива и указать, что я хочу получить на выходе именно RAID 0. Windows XP SP3 при загрузке даже не отметила факт обнаружения нового устройства, впрочем, в «Управлении дисками» новый неформатированный том уже наличествовал. Учитывая небольшую емкость дисков, новый том я разбил на два раздела: 30 Гбайт и «все остальное». Первый раздел я отформатировал под файловую систему FAT32 — очень хотелось проверить, а будет ли это влиять на производительность? Второй, разумеется, форматировался под NTFS. Третий диск я установил в обычном режиме, не включая в RAID — для сравнения.
Прежде всего я замерил линейную скорость чтения с одиночного диска, и тут у меня появились первые результаты. Преимущества FAT32 оказались мизерными, их вполне можно было списать на статистическую погрешность. Для игры это также было непринципиальным: ни скорость загрузки собственно клиента, ни скорость прорисовки новых локаций после перемещения не различались.
Следующий замер я сделал для выяснения времени доступа: ожидалось, что для массива он не был заметно выше, чем для одиночного диска. И тут я не выдержал: вместо того чтобы провести ряд замеров и получить количественные показатели, просто запустил игру с тома RAID. Хотя результат был предсказуем, но настолько ощутимого эффекта я не ожидал.
Пробежка по многолюдным локациям показала, что практически исчезли подмораживания, а прорисовка персонажей значительно ускорилась. Взяв себя в руки, я вышел из игры и приступил к измерениям. Неудивительно: результаты скорости чтения оказались практически вдвое выше, чем у одиночного накопителя.
Осталось проверить, что же произойдет при добавлении третьего жесткого диска. Скопировав на всякий случай архив с игрой на SSD, я выключил ПК и подсоединил третий диск в массив. Естественно, после загрузки ОС мне пришлось снова переразбить и отформати ровать том, но тут я уже не мудрствовал: сделал один раздел под NTFS, получив таким образом диск емкостью в 750 Гбайт. К слову, работать с таким диском одно удовольствие, копирование данных на него происходит достаточно быстро — особенно с SSD.
Измеренный прирост производительности составил не «в три раза больше», а чуть меньше. Подозреваю, что начали сказываться ограничения контроллера, но это было некритично. Запуск игры продемонстрировал еще более высокие результаты по скорости загрузки: не в шесть раз, а в пять, но и это немало, а в сравнении с SSD — быстрее. Прорисовка локаций выполнялась очень быстро, можно сказать, мгновенно. По сути, темный экран наблюдался всего две-три секунды. Пробежка по традиционным заполненным игроками местностям показала высокую комфортность игры: нигде ни разу не было отмечено рывков и подтормаживаний, даже при тяжелых настройках графики.
В целом процесс игры стал весьма комфортным, что поставило под вопрос необходимость включения четвертого накопителя в состав массива. Так как визуальной разницы в игровом процессе не наблюдается (даже по сравнению с SSD), можно предполагать, что трех дисков вполне достаточно для решения проблемы. Тем не менее в перспективе я планирую добавить и четвертый диск — он пригодится при работе с системами видеомонтажа.
Поскольку у меня было всего два 80-Гбайт диска, я провел тест 2x2 — ощутимой разницы не заметил, хотя числовые данные ненамного различались. Думаю, самым показательным станет эксперимент 3x4 — три 250-Гбайт диска с 16-Мбайт кэш-буфером против четырех 80-Гбайт, но с кэшем 8 Мбайт. Подозреваю, что первый вариант будет лучше, но эксперимент покажет: жена тоже играет в «Линейку» и уже требует таких же комфортных показателей по скорости загрузки.
А что касается SSD, он пойдет в качестве системного диска. Мало того, что система загружается с него очень оперативно, так и своп-файл не тормозит работу. Хотя, конечно, это уже избыточная роскошь для домашней рабочей станции — но не выбрасывать же его?
По материалам журнала IT Expert
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.