Я хочу создать веб-службу высокой доступности и планировал использовать Glusterfs на трех узлах (с репликой 3).
Я планировал установить веб-сервер прямо на узлы Gluster.
Это жизнеспособное решение или есть веская причина использовать выделенные узлы Gluster?
Спасибо.
П.
Это совсем не проблема, помните:
в другой поток , сказано
По моему опыту, разница в производительности огромна. После переключения моего веб-приложения с FUSE на NFS время загрузки уменьшилось с 1,5 -> 4 секунд до менее 1 секунды. Также я пробовал сегодня распаковать некоторые архивы, и, похоже, это займет в 4-5 раз больше времени на FUSE.
эталон пример здесь
В списке рассылки gluster есть 2 совета по увеличению скорости с помощью отрицательный тайм-аут :
mount -t glusterfs -o negative-timeout=1,use-readdirp=no,log-level=WARNING,log-file=/var/log/glusterxxx.log 192.168.140.41:/www /var/www
mount -t glusterfs -o use-readdirp=no,log-level=WARNING,log-file=/var/log/glusterxxx.log 192.168.140.41:/www /var/www
Таким образом, это означает только 1-секундный отрицательный тайм-аут ... В этом конкретном тесте:./smallfile_cli.py --top /var/www/test --host-set 192.168.140.41 --threads 8 --files 50000 --file-size 64 --record-size 64
Результат составляет около 4 секунд с отрицательным тайм-аутом в 1 секунду и много-много минут без отрицательного тайм-аута (я ухожу после 15 минут ожидания)
И
PS: Я уже выяснил, что для этого конкретного теста вся разница заключается в: negative-timeout = 600, при его удалении он снова намного медленнее.
Да, вы можете запускать узлы GlusterFS непосредственно на экземплярах вашего веб-сервера, но имейте в виду, что он может использовать много ресурсов ЦП, забирая ресурсы ЦП у вашего веб-приложения. Вы должны протестировать свое приложение, чтобы увидеть, достаточно ли у него ЦП и других ресурсов для работы в конвергентной системе с GlusterFS; в противном случае вам следует обновить оборудование или использовать выделенные узлы GlusterFS.
Использование общей файловой системы - это один из вариантов поддержания высокой доступности веб-службы / сайта, что на самом деле не самый лучший вариант.
Основной доход от этого - когда у вас много загрузок и записей в вашем сервисе, лучшая практика - разделить ту часть вашего сервиса, которая используется в загрузках, для записи в определенную папку, а затем использовать Gluster, чтобы просто скопировать ЭТУ папку. статические файлы могут обслуживаться с помощью CDN или кеш-сервера, небольшие объемы пользовательских данных могут храниться в базах данных, таких как SQL и Redis, или на серверах распределенного кеша, таких как memcached, или даже в службах хранения распределенных объектов, таких как min.io