java - Eclipse Java SOAP 在 Linux 上调用非常慢,但在 PC 上很好

标签 java linux windows performance soap

我正在开发一个 WS 客户端以从远程服务器提取数据。我使用 eclipse 构建对象以通过 WSDL 文件访问服务器。当我从我的 PC 运行代码时,它运行良好,性能是我所期望的,因为我拥有网络连接等。

当我导出 JAR 并从我的 Linux 服务器运行时,它最终会运行,每次调用大约需要 2 分钟。

我们的网络人员进行了一些数据包捕获,他们看到了来自初始连接建立的 POST 和 ACK,然后 120 多秒没有 Activity ,然后请求数据包被发送到服务器并按预期快速响应。

似乎有什么东西阻止了调用,但 PC 和服务器之间的代码是相同的。

有没有人见过类似的问题?我无权访问的服务器是基于 Windows 的服务器,客户端是 Linux 服务器。

根据 jstack,它似乎在 socketRead0 中被阻塞了 120 多秒

     "main" #1 prio=5 os_prio=0 tid=0x000000000f2b6000 nid=0x5776 runnable [0x00002ae42ae1d000]
   java.lang.Thread.State: RUNNABLE

最佳答案

如果您可以在 Debug模式下运行您的应用程序,而不是简单地尝试从 IDE 对其进行调试 - Remote debugging a Java application

如果不是 - 要求操作进行线程转储 - jstack: Target process not responding
并分析等待期间发生了什么 - How to analyze a java thread dump?

关于java - Eclipse Java SOAP 在 Linux 上调用非常慢,但在 PC 上很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39174644/

相关文章:

java - 显示 jTable 中两个给定日期之间的元素

Java JVM 热交换行为

.net - 版本控制的生产环境

linux - 获取计算机用户名

c++ - C++ 库命名空间和 C linux 函数之间的名称冲突

python - Pyramid pserve.exe语法错误

c++ - 鼠标指针渲染器

java - 如何在 JSP 中导入类?

java - 如何在 Android 中的 textView 上显示除示例文本之外的值

linux - linux 内核、linux 设备驱动程序或模块编写器程序员是否需要算法分析?