java - amazon s3 get 请求的多线程问题

标签 java multithreading amazon-s3

我正在尝试列出具有非常大数据的 s3 存储桶中的对象。 我在多个线程(50 到 100 个线程)中使用“listObjects”方法。对于每个线程,我都提供了 commonPrefix,API 将列出该 commonprefix 下的所有对象。 我必须在合理的时间内使用很多线程来提取大数据。所以我定义了 100 个线程,但我面临以下异常:

  1. javax.net.ssl.SSLException:在握手期间收到 close_notify
  2. java.net.SocketException: 连接重置
  3. java.net.SocketException: 读取超时

我想知道amazon s3请求多线程的高效利用

最佳答案

听起来亚马逊不希望您一次执行 100 个查询。

此外,100 个连接会给用户的网络连接带来巨大压力,并且整个过程的速度可能比您想象的要慢,至少在某些系统上是这样。

使用 NIO 会更聪明 Selector而不是 100 个线程。

关于java - amazon s3 get 请求的多线程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262962/

相关文章:

multithreading - pthread mutex (un)locking over different threads

c++ - 如何使用函数 : C++ 创建线程

java - 需要帮助解决连接表问题

java - GraphView 中轴的最大值

C#并行循环局部变量线程安全资料

amazon-web-services - AWS 无法签署 CloudFront URL

javascript - 从 S3 获取非公开数据

java - 如何编译.class文件

java - 有选择地删除小数

java - 验证deleteObject是否确实删除了AWS S3 Java sdk中的对象