Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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/8/xcode/7.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
Php 在静态内容中使用AWS/S3的优缺点是什么?_Php_Amazon Web Services_Amazon S3 - Fatal编程技术网

Php 在静态内容中使用AWS/S3的优缺点是什么?

Php 在静态内容中使用AWS/S3的优缺点是什么?,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我希望你们能给我一些指导。我有一个基于多媒体的网站,它托管在传统的基于Linux的LAMP托管上。由于该网站拥有最多的图像/视频内容,大约有30000多篇文章,数据库大小约为20-25MB,但文件系统使用量为10GB,每月使用的带宽约为800-900 GB(允许1 TB) 现在,经过一点头脑风暴,看看我的备选方案,我想出了两个选择 增加/获得更大的托管计划 获取存储在AmazonS3上的静态内容 虽然第一个计划将是一个简单的选择,但我实际上期待着第二个计划,即在AmazonS3上存储我的静态内容

我希望你们能给我一些指导。我有一个基于多媒体的网站,它托管在传统的基于Linux的LAMP托管上。由于该网站拥有最多的图像/视频内容,大约有30000多篇文章,数据库大小约为20-25MB,但文件系统使用量为10GB,每月使用的带宽约为800-900 GB(允许1 TB)

现在,经过一点头脑风暴,看看我的备选方案,我想出了两个选择

  • 增加/获得更大的托管计划
  • 获取存储在AmazonS3上的静态内容
  • 虽然第一个计划将是一个简单的选择,但我实际上期待着第二个计划,即在AmazonS3上存储我的静态内容。我的网站是完全定制编码的,基于PHP+MySQL。我经历了这一切,它给了我一个公平的想法

    当我考虑在S3上托管静态内容时,我想知道正反两方面。


    请提供您的意见

    如果你从长远来看,在某个时候你可能买不起一台能保存你所有数据的服务器。我认为S3对于您这样的案例是一个不错的选择,原因如下:

  • 您不必担心大文件上传会束缚您的服务器。使用,您可以将文件直接从客户端上载到S3存储桶

  • 当网页从不同的域请求内容时,现代浏览器通常会加载并行请求。如果您的图片来自bucket.s3.amazonaws.com,而网站的其余部分则从yourdomain.com加载,则用户可能会经历更短的加载时间,因为这些请求将并行运行

  • 在某种程度上,您可能希望使用内容分发网络(CDN)为您的媒体提供服务。当这种情况发生时,您可以使用Amazon的cloudfront并对S3提供开箱即用的支持,也可以使用另一个CDN—现在最流行的CDN确实支持从S3存储桶提供内容

  • 这是一个你永远不用担心的问题。Amazon负责冗余、可用性、备份、故障切换等。这是您的一大负担,让您知道您的媒体正在以可扩展且经得起未来考验的方式存储(至少在可预见的未来),您还需要处理其他事情

  • 增加/获得更大的托管计划

    我不会那样做。原因是,存储是便宜的,而“更大的托管计划”的其他组件将花费您高昂的成本,而不会立即带来好处(如果您不需要更多的内存,那么内存将非常昂贵)

    获取存储在AmazonS3上的静态内容

    这就是路。S3是非常便宜的,这是一个不需要动脑筋的。话虽如此,既然我们在这里谈论视频,我建议第三种选择:

    [3.]将视频存储在AWS S3上,并通过CloudFront提供服务。相比之下,考虑到惊人的带宽和全球分布,它仍然相当便宜。CloudFront是亚马逊的CDN,可以以极快的速度到达任何位置

    如果你想节省带宽,你也可以考虑使用Amazon弹性转码器进行高质量压缩(以最小化带宽使用)。p> 传统的托管成本太高了

    更大的托管计划 寻求更大的托管计划并不是一个永久的解决方案,因为

  • 由于静态内容,图像/视频的大小始终在增长。这一次您的需求是1 TB,下次它将增加更多。所以,你将再次处于相同的情况
  • 随着用户和静态内容的增长,带宽也会增加,成本也会增加
  • 您的数据库大小不是很大,我们可以假设您没有使用大量的CPU电源和内存。因此,您将只使用更多的磁盘空间,并为不使用的更大的CPU和内存付费
  • 从技术上讲,将您的所有请求都从一台服务器上发送出去是不好的。浏览器对每个域有有限的同时请求
  • S3/用于静态内容的云存储 s3或其他云存储是静态内容的良好选择。以下是好处

  • 您不必担心它会自动扩展并提供充足的存储空间
  • 如果您的站点可以在全球不同的位置访问,您可以管理cdn,以提高从最近位置交付内容的速度
  • 与传统主机相比,带宽非常便宜
  • 它还可以通过上传文件和从s3提供服务来减轻服务器的负担

  • 与传统托管相比,使用s3有一些好处。因为s3是专门为服务静态内容而构建的。这是你的决定:)

    这是一个相当古老的流量!然而,你“应该”做什么是一个意见问题,本质上是相当普遍的。Stack Overflow针对的是对未来观众有用的特定、可回答的问题。@halfer,我更新了问题,我想在s3上托管我的静态内容,请根据您的经验告诉我优点/缺点/方法