我正在尝试列出具有非常大数据的 s3 存储桶中的对象。 我在多个线程(50 到 100 个线程)中使用“listObjects”方法。对于每个线程,我都提供了 commonPrefix,API 将列出该 commonprefix 下的所有对象。 我必须在合理的时间内使用很多线程来提取大数据。所以我定义了 100 个线程,但我面临以下异常:
- javax.net.ssl.SSLException:在握手期间收到 close_notify
- java.net.SocketException: 连接重置
- java.net.SocketException: 读取超时
我想知道amazon s3请求多线程的高效利用
最佳答案
听起来亚马逊不希望您一次执行 100 个查询。
此外,100 个连接会给用户的网络连接带来巨大压力,并且整个过程的速度可能比您想象的要慢,至少在某些系统上是这样。
使用 NIO 会更聪明 Selector而不是 100 个线程。
关于java - amazon s3 get 请求的多线程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262962/