媒体文件与系统中包含应用程序逻辑的部分不同,因为提供媒体文件是 I/O 密集型任务,而应用程序逻辑通常需要 I/O 和 CPU 的某种组合(确切的平衡非常依赖于应用程序)。这就是为什么使用针对磁盘和网络吞吐量进行优化的专用媒体服务系统确实有意义

如果您使用自己的专用服务器,一些一般准则:
- 投资大量 RAM 并为最常用的内容使用缓存。这个想法是为了节省磁盘访问时间(理论上 RAM 大约快 100 倍)。 Memcache 是当今最流行的解决方案

- 投资快速磁盘 IO、安装多个磁盘并使用 RAID(条带化)来提高吞吐量

- 为您的专用/托管服务器选择托管提供商时,请重点关注带宽

- 如果可能,您希望将文件放置在靠近其使用者的位置,以改善网络延迟。例如,如果存储在南美洲的服务器上,巴西葡萄牙语的媒体文件将会受益

- 一个好的CDN几乎可以解决以上所有问题。根据我自己的经验,它减少了我们自己服务器上约 85% 的负载。我们使用 Cotendo 和 Akamai。您可以查看以下其他提供商:CDNetworks、Limelight、Level3

如果您刚刚开始,那么您最好的选择是使用 S3 来存储您的文件,并使用 CloudFront 作为您的 CDN。根据我自己的经验,这是一个非常简单的解决方案,而且非常具有成本效益
*开始时* - 成本与数据量和使用量呈线性关系。超过一定阈值后,开始考虑管理自己的专用存储架并使用其他 CDN 是有意义的。