Я планирую свою новую инфраструктуру общего хранилища для небольшой фермы веб-серверов. Поэтому я провел много тестов с большим количеством файловых систем NAS. Таким образом, я получил неожиданные результаты и хотел бы знать, может ли кто-нибудь здесь подтвердить это.
Короче говоря, Samba значительно быстрее, чем NFS и GlusterFS для записи небольших файлов.
Вот что я сделал: я запустил простой «тест rsync» с большим количеством файлов, чтобы сравнить производительность записи для маленьких файлов. Для облегчения воспроизведения я перезапустил его прямо сейчас с содержимым текущего wordpress tar.gz.
- GlusterFS реплицируется 2: 32-35 секунд , высокая загрузка процессора
- GlusterFS single: 14-16 секунд , высокая загрузка процессора
- GlusterFS + NFS клиент: 16-19 секунд , высокая загрузка процессора
- Сервер ядра NFS + клиент NFS (синхронизация): 32-36 секунд , очень низкая загрузка процессора
- Сервер ядра NFS + клиент NFS (асинхронный): 3-4 секунды , очень низкая загрузка процессора
- Самба: 4-7 секунд , средняя загрузка процессора
- Прямой диск: <1 секунда
Я абсолютно не гуру самбы (я думаю, что мой последний контакт был с samba 2.x), поэтому я ничего не оптимизировал здесь - просто готовый конфиг (пакет debian / squeeze). Единственное, что я добавил: «sync всегда = да», который должен обеспечивать синхронизацию после записи (но, видя эти результаты ...). Без него тесты где примерно на 1-2 секунды быстрее.
Все тесты выполняются на одной машине (самонастраивается, это экспорт NAS), поэтому никаких задержек в сети - чистая производительность протокола.
Боковой узел: в качестве файловой системы я использовал ext4 и xfs. Вышеуказанные результаты с ext4. xfs работали до 40% (меньше времени) лучше. Машины EC2 m1.small экземпляров. Экспорт NAS осуществляется на томах EBS, источники (извлеченные tar) на временном диске.
Итак, начнем: кто-нибудь может объяснить мне, почему самба намного быстрее?
Кроме того: Производительность NFS с сервером ядра должна быть настолько ужасной (ниже, чем у сервера GlusterFS NFS) в режиме синхронизации? Есть идеи, как это настроить?
Спасибо л