Война миров: ext2 vs ext3 Крис Касперски ака мыщъх Хакер, номер #086, стр. 086-108-4 Это утверждение неверно. Запись в журнал может происходить одновременно с обновлением данных/метаданных, только расположить их надо на различных жестких дисках. Чисто интуитивно это должно вплотную приблизить ext3 к ext2. Любой здравомыслящий человек подтвердит, что в таких условиях ext3 будет не медленнее, но ему и в голову не придет, что она может оказаться... быстрее, причем значительно быстрее! Вернемся к рисунку с сервером Adaptec DuraStor 6220SS, который пишет на ext3 с одним потоком в три раза быстрее, чем на ext2! На 16 потоках разрыв, естественно, сокращается, но ext3 по-прежнему остается впереди. Выходит, что с точки зрения производительности, на серверах и мощных рабочих станциях, ориентированных на запись, выгоднее держать ext3, а read-only тома всегда размечать под ext2? Довольно неожиданный для некоторых администраторов ход. Да может этот Adaptec DuraStor 6220SS специально заточен под ext3, а результаты эксперимента фальсифицированы? Хорошо. Давай обратимся к базам данных. Возьмем, например, Oracle и посмотрим, на какие файловые системы его рекомендуется ставить. На сайте компании (www.oracle.com/technology/oramag/webcolumns/2002/techarticles/scalzo_linux02.htm) приводятся крайне интересные результаты, которым можно верить, поскольку заниматься пропагандой ext3 Oracl'у - не резон. Мы видим (см. рисунки), что на всех операциях, которые только можно выполнить над базой, ext3 обеспечивает вдвое большую производительность. Как же такое может быть?! Неужели наличие журнала увеличивает быстродействие? Журнал тут совсем не при чем, и быстродействие он только съедает. Просто в ext3 слегка доработан механизм кэширования и внесен ряд других изменений, о которых умалчивает документация, но зато результат на лицо. Аналогичным образом дела обстоят с MySQL и PostgreSQL, однако мне не удалось найти «официальных» результатов тестов, а протестировать базу данных в домашних условиях довольно затруднительно. [раз - фрагмент, два - фрагмент] Сравнивать производительность файловых систем можно только при идентичных условиях, в частности, одинаковом уровне фрагментации. Коллектив японского агентства IPA (Information-Technology Promotion Agency) выпустил специальную утилиту davtools (davtools.sf.net), визуализирующую состояние диска так же, как это делал древний Norton Speed Disk. Выяснилось, что ext2/ext3 разделы довольно сильно фрагментируются с течением времени (см. рисунки), что опровергает тезис о совершенстве ext2/ext3 и ее независимости от фрагментации. Фрагментации подвластны все (исключая, естественно, те системы, что поддерживают фоновую дефрагментацию, как это сделано, например, в UFS). Некоторые «специалисты» утверждают, что в Linux'е фрагментация влияет на производительность более сложным образом. Допустим, два файла читаются одновременно. В отсутствии фрагментации головке придется совершать попеременные броски, мотаясь между двумя файлами, что будет нехорошо. Если же разбить файлы на блоки, чередующиеся друг за другом, то движения головки примут характер прямолинейной последовательности, и, несмотря на сильную фрагментацию, скорость чтения значительно возрастет. |