目前我有两台名为 ProcessServer1 和 ProcessServer2 的服务器,它们的作用只是将用户上传的视频转换为 flv 或 mp4 格式。转换设置为 512k,尽管我认为这与我所要求的内容无关,因为我认为这与文件大小和输入/输出操作有关,但我们稍后会讨论这个问题。然后,这两台服务器将视频上传到视频存储服务器 (StorageServer1)。StorageServer1 的作用只是存储视频文件。
MainServer1 将托管网站(目前使用开源 ClipBucket 的修改版本)。它将在 CentOS6.2 64 位上运行,并将安装以下软件:mysql、httpd 和 ClipBucket 网站软件。此服务器将把所有这些软件安装在单个 RAID 1 SSD 驱动器阵列(两个驱动器)上。它将负责托管整个网站,包括缩略图文件夹、mysql 等。我提到这一点是因为大量访问者等于大量 mysql 请求,以及每次加载网页时显示的大量缩略图,而 SSD 应该会对此有很大帮助。同样,所有这些都将位于该 RAID 1 SSD 驱动器阵列上。
当用户上传视频时,MainServer1 会将该请求重定向到 ProcessServer1 或 ProcessServer2(具体取决于哪个服务器最不繁忙)。然后这些服务器会将处理后的视频上传到 StorageServer1。StorageServer1 将具有 1Gbps 带宽连接/端口。
当我网站的用户开始观看视频时,整个页面从 MainServer1 加载,但从技术上讲,视频是从 StorageServer1 提取的。我需要确保 StorageServer1 可以处理几千名同时观看不同视频甚至相同视频的用户。换句话说,从技术上讲,我们不会同时向一群人流式传输单个视频,例如电视或直播等。用户观看视频的方式与在 youtube 或 breake 或任何其他视频共享网站上观看视频的方式相同。这里也是同样的原理。
我需要听听您对 StorageServer1 的 RAID 和硬盘配置的意见。目前我有 8 个 2TB SATA 7200rpm 硬盘,我计划在 RAID10 中运行。我很好奇 IOPS 会如何引起关注,因为大多数情况下,当有人观看视频时,他们基本上是在下载视频,如果该视频有几 MB 甚至几百 MB,那么 IOPS 会成为多大的问题。我知道,如果这是一个发生大量微小读/写的 SQL 服务器,那么 IOPS 是一个重要因素,但在我的场景中它仍然是一个重要因素吗?
假设我能够使用所有 1Gbps 端口速度,并且假设有几千个同时用户观看视频,那么我上述的 RAID 10 想法听起来可行吗,或者您是否认为我需要更多驱动器来获得更多 IOPS?
提前致谢。
答案1
当你输入问题标题时,它会在下方的“可能已经有答案的问题”区域中直接显示一堆先前的答案,其中许多都解决了你的问题,先前的问题搜索可以尝试以防止我们总是收到相同的问题。然而,当这些问题被忽略时,这种机制就不起作用了。
不管怎样,我都会构建大型视频点播系统,如果你看一下这根据我之前的回答,我认为你可能会找到足够多你想要的东西。