在过去的几周里,我们开始通过 http 提供越来越多的视频,每个视频大小从 50 到 500mb 不等,由于我们没有新的服务器可以用于此,所以我将它设置在了我们的直播服务器上。
在我看来这个盒子相当不错(2 x 四核 2ghz,4gb ram,4 x 300gb sas 15k rpm 硬件 RAID1,运行 Linux 2.6,ext3 fs 带截止期限调度程序,nginx 作为网络服务器)但我们在传送文件时仍然遇到问题,主要是因为我怀疑是因为我们 iowait 在 10% 到 45% 之间,util 大部分时间在 90% 左右,而 cpu 在 20-30% 左右。
据我所知,它应该可以容纳我们约 300-400mbps 的流量,但事实并非如此。
由于预算有限,我们无法依赖 CDN,但如果需要,我们可以获得更强的处理能力,并且数据中心可以处理我们的流量。
现在我们有了一个新的服务器,它只能做这件事,但我不知道设置它的最佳方法是什么,目前的主要问题是:
- 哪种 raid 级别更适合这项任务?现在有 4 x 300gb + 2 x 146gb,均为 10k rpm 的 SAS,硬件 raid,希望有更多空间,但冗余也很重要
- 我以后该如何扩展它,lvm 是个好主意吗?
- 它需要多少 RAM,现在有 16GB,但如果能给我们带来明显的提升,可以添加更多,有什么建议吗?
- 决定使用 xfs 作为文件系统,有什么不适合/更适合它吗?
- 我对这一台服务器的依赖程度有多高?
任何其他建议都值得赞赏。
谢谢。
答案1
我并不是这类优化的专家,但我有以下几点想法:
- RAID:播放视频时,我认为您主要会执行持续读取。出于这个目的,我倾向于认为 RAID1 应该没问题。RAID 1+0 配置可能更好,因为有更多的机会进行并行化 - 虽然我还没有研究过这方面的数字。您也可以尝试使用 RAID 设置;也许更大的条带大小更适合您的情况?
- RAM:为什么不先从现有内存开始,然后监控使用情况呢?如果您发现服务器交换过多,那么您可以随时添加更多 RAM。
你似乎有很多问题,一旦你切换到新服务器,很多问题可能都会得到解答。如果发生灾难性事件,我会确保你可以恢复到旧服务器,并查看新服务器的性能。
答案2
您告诉我们,您认为您应该能够支持 300-400Mbps,但您负担不起使用 CDN 的费用?这里面一定有什么问题……首先,您有一些上行链路连接……那是什么连接?它支持什么速度?带宽是专用的还是共享的?我猜这是您设置中的第一个瓶颈,而我之前从未想过这是服务器的问题。
仅供参考,运营商级数据中心带宽持续约为 250 美元/Mbps/月,因此即使持续 100Mbps 水平,您也要谈论 25,000 美元/月的费用。如果您这样做,您可以负担得起 CDN。