压缩存储在S3上的100个文件

时间:2015-10-13 15:12:25

标签: php amazon-s3 aws-sdk aws-ec2 aws-php-sdk

我们使用S3存储通过我们的应用程序上传的各种媒体,如图像,文档等。我们在物业软件行业工作,作为一种与存储在我们系统中的数据与财产门户交换的方式,门户网站之间的通用交换格式是Rightmove BLM数据馈送规范。这本质上是一个包含分隔文本文件的zip文件,以及通过FTP发送到每个门户的任何相关媒体。然而,该过程中的瓶颈是从S3下载媒体以进行压缩。例如,我们系统上的一个帐户可以在1000个图像/文档的区域中下载和压缩以准备传输(每个文件必须是特定门户的特定格式的名称(唯一编号,序列号等)然而,通过PHP SDK将S3中的1000个图像/文档从同一区域下载到EC2服务器需要一些时间(60+秒)。当同时为多个帐户执行此操作时,它会给服务器带来相当大的负担。

是否有更好/更快的方式从S3下载文件,以便可以在EC2实例上准备和压缩文件?

感谢。

1 个答案:

答案 0 :(得分:0)

一种选择是在添加文件时聚合zip。这意味着,不是一次性压缩文件,而是使用Lambda函数将它们添加到zip文件中,因为它们已添加到S3存储桶或在S3存储桶上更新。然后,拉链将根据需要或多或少地提供。