Amazon web services 从S3检索数据非常慢
在我的应用程序中,我使用Amazon web services 从S3检索数据非常慢,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,在我的应用程序中,我使用S3存储用户数据。用户有文件,每个文件都有其id,我需要为每个文件存储其数据和快照图像(png)。我将数据存储在以下体系结构中: Main files bucket > File_id_folder > file.data file.png File_id_folder > file.data file.png File_id_fol
S3
存储用户数据。用户有文件,每个文件都有其id,我需要为每个文件存储其数据和快照图像(png)。我将数据存储在以下体系结构中:
Main files bucket >
File_id_folder >
file.data
file.png
File_id_folder >
file.data
file.png
File_id_folder >
file.data
file.png
我的问题是从S3检索文件需要很多时间。获取5个png文件可能需要大约一分钟的时间
我的png文件大小约为100K。我使用N.California
地区,从Israel
下载文件。png文件正在通过iOS应用程序下载(用于初始化UIImage)
我可以做些什么来提高S3性能如果你想把你的图片保存在S3中,并且需要尽快从遥远的地方(比如以色列)下载它们,考虑在你的S3桶上使用AWS CyrdFrad分布,这样图像就可以从最接近你下载的数据中心提供。 添加cloudfront将是一件简单的事情,至少测试一下它是否有帮助几乎不需要花费什么
如果在添加cloudfront之后,它仍然比您认为的慢,那么我将研究您的解决方案的其他方面。由于其他与AWS无关的因素,速度可能较慢。Erik,为了获得更相关的答案,我强烈建议您添加更多关于您正在做什么的信息。仅仅说“我在S3中有对象,下载它们很慢”是不够的。例如,文件的大小是多少?您使用的是哪个S3区域?文件在哪里下载?您如何下载它们(通过web浏览器?使用代码?显示代码)?等等…我在我的原始问题中添加了更多信息,你现在提到iOS应用程序和N.California。你有没有测量过最终用户和你的S3存储桶之间的延迟和数据包丢失?这或许可以解释为什么速度缓慢。如果是这样的话,提高性能的最佳选择就是大幅缩减图像,或者使用CloudFront之类的CDN来服务您的内容(延迟可能会有所改善,但如果您谈论的是移动网络,那么这可能是延迟的最大部分,您真的无法做任何改进…)。除非你每秒对同一组图像执行数百次请求,否则S3可能是你最不应该调查的地方。@Erik,这结论太快了。以色列附近有2个欧盟地区和3个亚洲地区。您是否可以尝试将相同的内容复制到其中一个区域,性能如何?