Я планую свою нову інфраструктуру спільного зберігання для невеликої ферми веб-серверів. Тому я провів багато тестів з великою кількістю файлових систем NAS. Тим самим я отримав кілька несподіваних результатів і хотів би знати, чи може хтось тут це підтвердити.
Коротше кажучи: Samba набагато швидше, ніж NFS та GlusterFS для записів невеликих файлів.
Ось, що я зробив: я запустив простий "орієнтир rsync" з великою кількістю файлів для порівняння продуктивності запису для невеликих файлів. Для легшого відтворення я повторно запустив його із вмістом поточного wordpress tar.gz.
- GlusterFS повторювався 2: 32-35 секунд , велике навантаження процесора
- GlusterFS одиночний: 14-16 секунд , велике навантаження процесора
- GlusterFS + NFS-клієнт: 16-19 секунд , велике завантаження процесора
- Сервер ядра NFS + клієнт NFS (синхронізація): 32-36 секунд , дуже низьке завантаження процесора
- Сервер ядра NFS + клієнт NFS (async): 3-4 секунди , дуже низьке завантаження процесора
- Samba: 4-7 секунд , середнє завантаження процесора
- Прямий диск: <1 секунда
У мене абсолютно немає гуру самби (я думаю, мій останній контакт був з samba 2.x), тому я тут нічого не оптимізував - просто вийшов з конфігурації (пакунок debian / сжати). Єдине, що я додав "синхронізувати завжди = так", який повинен забезпечити синхронізацію після запису (але бачачи ці результати ..). Без нього тести, де приблизно на 1-2 секунди швидше.
Всі тести, які виконуються на одній машині (самостійно встановлений експорт NAS), тому відсутність затримок у мережі - чиста протокольна робота.
Бічний вузол: як файлова система я використовував ext4 та xfs. Наведені вище результати з ext4. xfs краще на 40% (менше часу). Машини є EC2 m1.small екземпляри. Експорт NAS здійснюється на томах EBS, джерела (видобутий дьоготь) на ефемерному диску.
Тож ми підемо: чи може хтось пояснити мені, чому самба так швидше?
Також: Чи має бути продуктивність NFS з сервером ядра такою жахливою (перевершує її сервер GlusterFS NFS) в режимі синхронізації? Будь-яка ідея, як це налаштувати?
Дякую, L