Web 服务器上的 Glusterfs

Web 服务器上的 Glusterfs

我想构建一个 HA Web 服务,并计划在三个节点(带有副本 3)上使用 Glusterfs。

我的计划是直接在 Gluster 节点上安装 Web 服务器。

这是一个可行的解决方案吗?或者是否有充分的理由使用专用的 Gluster 节点?

谢谢。

页。

答案1

是的,您可以直接在 Web 服务器实例上运行 GlusterFS 节点,但请记住,它可能会占用大量 CPU,从而占用 Web 应用程序的 CPU 资源。您应该测试您的应用程序,看看它是否有足够的 CPU 和其他资源来与 GlusterFS 融合运行;如果没有,您应该升级硬件或使用专用的 GlusterFS 节点。

答案2

这根本不是问题,请记住:

NFS/FUSE 的速度

另一个线程,其中规定

从我的经验来看,性能差异很大。将我的 Web 应用程序从 FUSE 切换到 NFS 后,加载时间从 1.5 秒减少到 4 秒以下。此外,我今天尝试提取一些档案,在 FUSE 上似乎需要 4-5 倍的时间

基准例子在这里

基准1 基准2

提高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

结果是,在定义了 1 秒负超时的情况下,大约需要 4 秒,而在未定义负超时的情况下,则需要很多分钟(我等待了 15 分钟后退出)

PS:我已经发现,对于这个特定的测试,所有的差异都是由:negative-timeout=600 造成的,当删除它时,它又会慢得多。

答案3

使用共享文件系统是维护高可用性 Web 服务/站点的选项之一,但实际上这并不是最好的。

这样做的主要好处是,当你的服务有大量上传和写入操作时,最佳做法是将用于上传的那部分服务拆分为特定的文件夹,然后使用 Gluster 复制该文件夹。静态文件可以使用 CDN 或缓存服务器提供服务,少量的用户数据可以存储在 SQL 和 Redis 等数据库中,或者分布式缓存服务器(如 memcached)或分布式对象存储服务(如 min.io)中

相关内容