Опубликовано в Gazeta.Ru от 15-04-1999 (Выпуск No 033)
Оригинал: http://gazeta.ru/flopovod/15-04-1999_solyanka.htm


Дмитрий Турецкий, <dmitri@listsoft.com>
WinNT быстрее Linux?!


Если вы читаете "Дисковод" периодически, то, наверное, заметили, что несколько последних заметок выходило без новостей. Связано это с тем, что один из самых сложных процессов для меня - это выбор темы для заметки (кстати, буду благодарен, если вы напишете мне, о чем бы вы хотели почитать :)... С одной стороны, хочется, чтобы новости хоть как-то совпадали с темой заметки, с другой - сама заметка должна укладываться в определенные рамки... И приходится либо растягивать какую-то информацию, чтобы занять необходимый минимум места (при этом отбрасывая другие интересные, но маленькие вещи), либо отказываться от каких-то тем, которые требуют места слишком много. Поэтому я периодически провожу некоторые эксперименты над форматом заметок и пытаюсь судить об их результатах по вашим письмам и реакции редакции (хорошее словосочетание! :) Вчера я решил испытать некий новый жанр - что-то вроде мини-учебника, а сегодня, пока никто не успел опомниться, попробуем новый стиль - собрание всяких отрывков, обрывков, новостей и полезных советов, мало связанных друг с другом...

Довольно часто я натыкаюсь на советы конвертировать файловую систему из FAT16 в FAT32, причем советчики авторитетно заявляют, что это сэкономит 50% дискового пространства. Многие следуют таким советам и удивляются, что эконмии как-то не очень заметно. Почему?
Все дело в том, что чтение и запись на диск происходит блоками. Такой блок называется сектором и имеет, как правило, размер в 512 байт. Несколько последовательных секторов называются кластером. Каждому кластеру соответствует запись в FAT (File Allocation Table - Таблица размещения файлов). Таким образом, сектор является минимальной _физической_ единицей записи (или минимальной единицей _физической_ записи), а кластер - минимальной _логической_ единицей записи.
Файловая система FAT-16 называется так потому, что длина записи FAT составляет 16 бит и, следовательно, она может адресовать 2^16=65535 кластеров. Таким образом для двухгигабайтного диска мы получим размер кластера равный 2*2^30/2^16=2^15=32Kb. Система FAT-32 имеет длину записи в 32 бита, и размер кластера для такого же диска будет всего 4Кб.
Место на диске теряется из-за того, что размеры файлов не кратны размеру кластера, поэтому в том кластере, где расположен "хвост" файла, может остаться незанятое место. Понятно, что чем меньше размер кластера, тем меньше вы будете терять.
НО! Потребность в переходе на FAT-32 определяется количеством и размером файлов, которые необходимо хранить. Например, если нужно записать несколько файлов по 100Мб, то выиграете вы чуть-чуть, зато рискуете не прочитать их из другой системы. Однако если у Вас 1000 файлов по 1Кб, то переход с FAT-16 на FAT-32 сэкономит Вам 1000*(32-1)-1000(4-1) ~ 27.5 Мб.

А если вы хотите улучшить производительность своего компьютера, то не забывайте периодически дефрагментировать диски. Идея заключается в том, что кластеры, в которых записаны куски файлов, отнюдь не обязаны располагаться последовательно. Более того, при всевозможной работе с файлами - удаленни, перемещении и т.п. эти куски постепенно "расползаются" по всему диску, в результате чего начало файла может оказаться в середине диска, середина - в конце, а конец - в начале. Когда вы захотите такой файл прочитать, головка дисковода будет вынуждена передвинуться на середину, дождаться, пока нужный кластер считается, передвинуться на следующую дорожку и т.д. При этом, во-первых, теряется время на перемещение головки, во-вторых, на чтение каждого кластера уходит оборот диска, а в третьих, просто сильнее изнашивается механизм... Процесс дефрагментации заключается в том, что все кластеры выстраиваются последовательно, и на чтение файла уходит только одно перемещение головки и один оборот диска. Разумеется, я несколько утрирую - файл может занять и несколько дорожек - но общий смысл понятен.

Согласно измерениям, проведенным компанией Mindcraft, производительность Windows NT как файлового сервера в 2.5 раза превосходит производительность Линукса, а NT+IIS оказывается в 3.7 раза быстрее, чем Linux+Apache! Правда, тестирование финансировалось Микрософтом... Некоторые комментарии к этому тесту можно найти в Linux Weekly News. Из этих комментариев видно, что для тестирования были выбраны клиенты (Win95/98), которые "предпочитают" работать с NT, а не с Самбой (NT workstation лучше работает с Самбой, чем с "родной" NT); Линукс не был корректно настроен и т.д. Любопытно, что эта же Mindcraft уже проводила тесты, которые показали, что NT+IIS в четыре раза быстрее, чем Solaris+Sun Web Server; а также что NT на 25% быстрее Novell NetWare в качестве файлового сервера...

В статье Linda Harrison приводятся интересные цифры. Оказывается, обучение персонала и его сертификация как MCP (Microsoft Certified Professionals) сокращает простои компьютеров на 50%. Также при этом на 25% сокращаются расходы на поддержку пользователей. Проработав довольно долгое время сисадмином в большой конторе, я вполне склонен с этим согласиться... Господа, не экономьте на учебе!

Пишите нам: info@gazeta.ru
Copyright © Gazeta.Ru
RRU_Network
При перепечатке и цитировании ссылка на источник с указанием автора обязательна. Перепечатка без ссылки и упоминания имени автора является нарушением российского и международного законодательства, а также большим свинством.