【发布时间】:2019-11-05 23:17:44
【问题描述】:
我目前正在开发服务器应用程序 (JEE),但在将文件上传到 AWS S3 时遇到了一些问题。我正在使用 Java SDK (S3client.putObject) 上传这些文件。当服务器启动时,一切都按预期发生。文件在服务器(EC2 实例)中生成并在几秒钟内上传到 S3。但是几天后,性能下降了很多。通常需要 5 或 6 秒才能上传的文件现在需要 10 到 30 分钟(是的,分钟)。我分析了应用程序,这里的罪魁祸首是使用 AWS Java SDK 进行上传的部分。奇怪的是,CPU 利用率接近 100% 并保持几分钟。由于这基本上是一个 IO 操作,我不明白为什么它可能需要这么多 CPU 周期才能运行。 有没有人经历过这种行为? 关于在哪里看的任何提示?
PS:文件大小从 1 到 50 MB。
非常感谢!
更新: 创建文件并将它们上传到 S3 的 EC2 实例是 m1.large。 我使用的是 1.6.4 AWS SDK 版本。
【问题讨论】:
-
即使您不重新启动应用,上传文件的时间最终会降到“5 或 6 秒”吗?
-
不,它不会返回。我需要重启应用服务器
-
如果您将 SSL 用于 S3,如果您已经采取了其他步骤来优化 S3 性能,则可以考虑使用 AES-NI。
-
@CleversonSchmidt 听起来你有某种资源泄漏
-
@HyperAnthony 如果 AES-NI 是问题所在,不应该每次都发生吗?
标签: amazon-web-services amazon-s3