首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java UrlConnection在高负载下触发“连接重置”异常。为什么?

Java UrlConnection在高负载下触发“连接重置”异常。为什么?
EN

Stack Overflow用户
提问于 2012-02-02 17:30:00
回答 4查看 3.2K关注 0票数 6

我正在使用Java在Linux (Ubuntu 10) 64位服务器上从Amazon中流文件。

我对每个文件使用一个单独的线程,每个文件都打开一个HttpURLConnection,它同时下载和处理每个文件。

所有的工作都很好,直到我到达一定数量的流(通常是2-3个并发流)。在此之后的不规则点上,有几个线程(例如10)将开始遇到simultaneously. java.net.IOException: Connection reset错误。

我正在限制下载速度,并且远远低于m1大型实例的250 limit /s限制。所有其他服务器方面的负载也是微不足道的(例如CPU、平均负载和内存使用情况都很好)。

是什么导致了这件事,或者我怎么找到它的?

EN

回答 4

Stack Overflow用户

发布于 2012-02-09 14:10:03

猜测可能会发生什么并不是小事一桩,但这是几个提示,也许有些可能适用于您的上下文:

  • 您是否可以检查您的shell (linux、bash、/zsh或任何其他),看看是否提高了限制文件描述符数量的标准限制(但套接字也是),使用bash进行man ulimit。
  • 您是否在Java代码中显式地关闭了流?不关闭流可能会导致如此聪明的问题。
  • 尝试google for Linux内核调优,看看您的ubuntu服务器是否有一个非常适合这种加载上下文的堆栈.

杰罗姆

票数 4
EN

Stack Overflow用户

发布于 2012-02-09 20:20:18

他们可能会有溢出问题,在重要人物,因为数量的逆流连接达到极限。你可以缩小尺寸然后看到..。

票数 2
EN

Stack Overflow用户

发布于 2012-02-06 09:19:45

这里的问题主要是你的语言。高负载触发错误条件,错误条件导致异常。不是相反的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9116977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档