2011-03-23 9 views
1

Я играл с различными файловыми системами и сравнивал производительность различных файловых систем при использовании mmap.Почему изменение типа файловой системы с XFS на JFS увеличивает производительность записи файла mmap?

Я удивлён тем, что смена JFS в два раза удвоила производительность записи. Я думал, что записи были сделаны для кеша страниц, и поэтому, когда запись выполнена, приложение продолжает двигаться быстро? это на самом деле синхронная операция под linux?

Небольшое увеличение производительности чтения, но не столь значительное.

+1

Почему голосование закрывается ?! Это мертво по теме. –

ответ

1

Writes делается прямо на кэш страницы, но при первом нажатии на каждую страницу с записью будет происходить незначительная ошибка, чтобы пометить страницу как грязную. На данный момент файловая система имеет возможность выполнить некоторую работу - в случае xfs, это связано с задержкой распределения ассигнований и созданием степени. Вы можете предварительно предварительно запрограммировать весь файл, чтобы узнать, как это изменится. (jfs использует общие операции mmap, которые не обеспечивают обратный вызов, используемый, когда страница становится доступной для записи).

Обратите внимание также, что после того, как доля страниц грязной страницы pagecache превысит /proc/sys/vm/dirty_ratio, ядро ​​переключится с фоновой асинхронной обратной записи на синхронную обратную запись грязных страниц процессом, который их загрязнил.

+0

Это для деталей. Единственный человек, который мог бы ответить на этот вопрос. – Matt

+0

В JFS сравнение не производится. –

0

Возможно, вам стоит посмотреть на тесты для каждой файловой системы. Каждая FS быстро работает при определенных условиях AFAIK.

http://fsbench.netnation.com/ был одним из первых хитов в моем Google для тестов xfs jfs. Скимминг по результатам, по-видимому, во многих случаях указывает на то, что xfs намного дороже.

Предлагаю вам запустить тесты на целевых машинах, чтобы узнать сами.

Предполагается, что ускорение, которое вы заметили, вполне может быть в лучших областях jfs.

+0

У меня нет обзора того, какая файловая система самая быстрая. Мне интересно, почему тип файловой системы влияет на производительность записи mmap. – Matt

+0

Но, спасибо за ссылку. Это может быть полезно. – Matt

0

Одно существенное различие между XFS и JFS заключается в том, что XFS поддерживает барьеры и позволяет им по умолчанию, но JFS вообще не поддерживает барьеры. Следовательно, JFS небезопасен (но быстро!) При работе на дисках с кэшем обратной записи.

JFS, имеющий лучшую производительность записи в ваших тестах, может быть следствием этого.