我有一个网站,平均每天点击量达到5000万次,在接下来的3个月内,每天的点击量将超过1亿次。 我们正在尝试使用GlusterFS v 3.0.0(截至2010年1月17日)
目前,我们刚刚升级到负载平衡器环境,有3台物理主机和6台Xen-Server 5.5u1虚拟机(每台主机上有2台虚拟机)为网页stream量提供服务。 每台机器有6个Raid-6本地存储驱动器(7200RPM-SATA)。 我们来自的旧机器有一个镜像SAS 10K驱动器。
我们还build立了GlusterFS目前有3块砖,每个主机上有一块砖,它为6个虚拟机作为客户端提供服务。 在testing中,一切似乎都很好。 但是当我们投入生产的时候,似乎没有足够的I / O来提供超过15M的点击量。 几个星期前,我们的旧服务器能够处理stream量,最高可达20M。
有没有推荐的configuration这样的应用程序,或者要知道的事情是不明显的,他们的文档在gluster.org为我们的大小的网站?
没有写入caching(?)的6×7.2krpm驱动器的RAID-6将具有可怕的写入性能,如此糟糕,以至于如果您的应用程序有一个健康的组合,那么它可能会使磁盘陷入足够低的程度,从而影响读取性能。 我的意思是,你现在看到的是一个80/20的读/写分割出来的250个随机iops。 如果你每秒要做几百个http请求,那么像apache访问日志这样微不足道的事情就会像DoS攻击一样陷入困境。
如果可以的话,重做那些raid10。 这将花费你一些原始的空间,但是对I / O性能产生巨大的影响。 如果你可以在RAID卡上获得电池支持的写入caching,那么它将产生非常大的差异。
我并不熟悉glusterfs,但是所有的分布式文件系统往往有相同的基本问题,networking延迟+复杂的locking性能差,特别是在小文件上,特别是在大量写入的工作负载上。
缓慢的磁盘I / O和慢速的文件系统,这种集群devise根本不适合工作量。 退还服务器或至less是磁盘子系统是否太晚了? 如果这是一个实质性收入公司的主要平台,你应该聘请专业人士。
你将GlusterFSstream量转移到什么媒介? 如果是以太网,则由于TCP / IP的开销,configuration将受到严重限制。 GlusterFS不是那里最有效率的。 它真正闪耀的地方在于RDMA。 您可以使用Infiniband或10GigE来实现此目的。
我还有点不清楚为什么你决定把2台虚拟主机放在每台物理主机上,如果他们都在做同样的工作。 为什么不把它们放在裸机上运行,避免开销?
你使用的是什么版本的GlusterFs? GlusterFS 3.0.0是一个主要版本,并且有很多改进,包括增加小文件的性能。
GlusterFS中有很多性能翻译器可以针对各种工作负载进行调整。 例如,为了提高读取性能,我们有预读转换器,写性能我们有写后转换器。 io-cache是另一个可用于caching的性能翻译器。
你是什么types的设置? 你正在使用复制或分发或两者? 你的networking后端是什么? 您是否在旧服务器和新服务器之间对networking/磁盘IO进行了基准testing,以消除瓶颈?
如果您可以与我们共享您的卷文件,我们可以帮助您调整configuration文件,以获得最佳的工作负载性能。
只需一个FYI,我们提供30天免费试用支持订阅[1],您可以快速而深入地回答您的问题。
干杯,萨奇
没有更多的洞察你的设置(例如,你的网站是静态的还是dynamic的?数据库事务是否在使用相同存储子系统的服务器上进行?),但RAID 6通常是写性能的不好select,而不必介意何时引入更复杂的通过gluster。 你可能有两组写入条带转换,一个在gluster级别,另一个在控制器级别。 然后你有两个奇偶校验计算,这会减慢速度并导致I / O阻塞,除非你有一个大的写入caching和低I / O活动周期。
我build议你切换到RAID 10,然后用光纤通道或多个绑定的GigE链接返回。