我目前正在开发一款服务器应用程序(JEE),并在上传文件到AWS S3时遇到了一些问题。我使用Java SDK(S3client.putObject)来上传这些文件。当服务器启动时,一切都像预期的那样进行。文件在服务器(EC2实例)中生成,并在几秒钟内上传到S3。但是过了一些天之后,性能大大降低。原本只需要5或6秒钟即可上传的文件现在需要10到30分钟(是的,分钟级别)。我对应用程序进行了分析,发现AWS Java SDK执行上传的部分是罪魁祸首。奇怪的是,CPU利用率接近100%,并保持数分钟。由于这基本上是一个IO操作,我不明白为什么它需要这么多CPU周期才能运行。有人经历过这种情况吗? 在哪里寻找解决方案?
PS: 文件大小介于1到50MB之间。
非常感谢!
更新: 创建文件并将其上传到S3的EC2实例为m1.large。 我正在使用1.6.4 AWS SDK版本。