Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 存储媒体文件的有效方法是什么?_File_Hosting_Media_Scalability - Fatal编程技术网

File 存储媒体文件的有效方法是什么?

File 存储媒体文件的有效方法是什么?,file,hosting,media,scalability,File,Hosting,Media,Scalability,假设你正在构建下一个伟大的社交应用程序,它将获得大量用户。您可能会遇到的一个问题是,您需要以可扩展的方式承载大量媒体文件,而不会限制整个站点的性能 解决这个问题的好方法是什么 仅用于媒体文件的专用服务器? 云?媒体文件与系统中包含应用程序逻辑的部分不同,因为提供媒体文件是一项I/O密集型任务,而应用程序逻辑通常需要I/O和CPU的某种组合(确切的平衡取决于应用程序)。这就是为什么使用专门的媒体服务系统是有意义的,该系统针对磁盘和网络吞吐量进行了优化 如果您使用自己的专用服务器,请遵循以下一般原则

假设你正在构建下一个伟大的社交应用程序,它将获得大量用户。您可能会遇到的一个问题是,您需要以可扩展的方式承载大量媒体文件,而不会限制整个站点的性能

解决这个问题的好方法是什么

仅用于媒体文件的专用服务器?

云?

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

如果您使用自己的专用服务器,请遵循以下一般原则:

  • 投资大量RAM,并对最常用的内容使用缓存。这样做的目的是节省磁盘访问时间(从理论上讲,RAM大约快100倍)。Memcache是当今afaik最流行的解决方案
  • 投资于快速磁盘IO,安装多个磁盘并使用RAID(条带化)提高吞吐量
  • 为专用/co lo服务器选择主机提供商时,请关注带宽
  • 如果可能,您希望将文件定位在其使用者附近,以提高网络延迟。例如,巴西葡萄牙语的媒体文件如果存储在南美的服务器上,将受益匪浅
  • 一个好的CDN几乎可以解决上述所有问题。根据我自己的经验,它将我们自己的服务器上的负载减少了约85%。我们使用Cotendo和Akamai。您可以查看ottomh的其他提供商:CDNetworks、Limelight、Level3

如果您刚刚起步,那么imo最好使用S3存储您的文件,CloudFront是您的CDN。根据我自己的经验,这是一个非常简单的解决方案,而且在开始时非常划算——因为成本随着数据量和使用量线性增长。超过某个阈值,但开始考虑管理自己的专用存储机架并使用其他CDN是有意义的。

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

如果您使用自己的专用服务器,请遵循以下一般原则:

  • 投资大量RAM,并对最常用的内容使用缓存。其目的是节省磁盘访问时间(理论上RAM大约快100倍)。Memcache是当今afaik最流行的解决方案
  • 投资于快速磁盘IO,安装多个磁盘并使用RAID(条带化)提高吞吐量
  • 为专用/co lo服务器选择主机提供商时,请关注带宽
  • 如果可能,您希望将文件定位在靠近其用户的位置,以提高网络延迟。例如,巴西葡萄牙语的媒体文件如果存储在南美的服务器上,将受益匪浅
  • 一个好的CDN几乎可以解决上述所有问题。根据我自己的经验,它将我们自己服务器上的负载降低了约85%。我们使用Coteno和Akamai。其他提供商您可以查看ottomh:CDNetworks、Limelight、Level3
如果您刚刚起步,那么imo最好使用S3来存储您的文件,CloudFront是您的CDN。根据我自己的经验,这是一个非常简单的解决方案,并且在起步时非常划算,因为成本随着数据量和使用量线性增长。超过某个阈值,尽管开始考虑使用S3是有意义的管理您自己的专用存储机架并使用其他CDN