13

似乎从亚马逊 s3 读取的图像加载速度非常慢。我将图像与网站放在同一台服务器上,并且加载速度非常快。它加载缓慢是因为它现在必须从 s3 访问它吗?

我真的无能为力吗?

使用它来读取图像文件:

$secure_link = gs_prepareS3URL("myAmazon."/thumb/thumb_".$id, $bucket);
    readfile($secure_link);

功能来自:http ://www.richardpeacock.com/blog/2010/07/amazon-aws-s3-query-string-authentication-php

4

2 回答 2

14

如果您要嵌入图像,则应通过 Amazon CloudFront(Amazon 的 CDN 服务)提供它们。CloudFront 从 S3(或自定义源)加载图像/文件,然后将其缓存在其边缘服务器上。

CloudFront 教程 - http://www.hongkiat.com/blog/amazon-cloudfront-how-to-setup-cloudfront-to-work-with-s3/

于 2012-05-18T17:07:30.260 回答
1

S3 仅适用于静态存储,默认情况下它没有优化性能,但有办法让它变得更好。

在配置 CloudFront 之前,您应该尝试在 S3 存储桶上启用“传输加速”。

来源:https ://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html

好处是,

  1. 您的客户从世界各地上传到一个集中的存储桶。
  2. 您定期跨大洲传输 GB 到 TB 的数据。
  3. 上传到 Amazon S3 时,您无法使用 Internet 上的所有可用带宽。

这是有代价的..(https://aws.amazon.com/about-aws/whats-new/2016/04/transfer-files-into-amazon-s3-up-to-300-percent-faster/ )

Amazon S3 Transfer Acceleration 的定价很简单,没有前期成本或长期承诺。您只需为通过该服务传输的数据支付较低的每 GB 费率。定价旨在无风险:如果 Amazon S3 Transfer Acceleration 不太可能影响上传速度(例如,当您从东京的客户短距离上传数据到日本的 S3 存储桶时) ,您不会为该上传支付任何额外费用。有关定价的更多信息,请参阅 Amazon S3 定价。

于 2021-08-31T06:23:01.260 回答