java - Apache 服务器上的第一个 REST 调用速度缓慢

标签 java apache rest web-services

我在某些请求中遇到了这个问题。用户的所有首次调用(或经过一段时间后)最多需要 60 秒才能完成。之后需要几毫秒。无论我是在 Internet 浏览器上还是使用 SOAP UI 调用它,它总是一样的。我正在 Apache 上运行 java 应用程序。 我用 fiddler 运行它来查看调用花费最多时间的地方,看起来是在服务器收到请求和开始应答之间,每次都需要 61 秒。 Fiddler 还显示了两种情况下 SSL 握手都花费了几毫秒

我不知道还能去哪里寻找。如果有人能提供一些线索,我们将不胜感激。

第一个请求(需要 1 分 01 分钟)

Request Count:   1
Bytes Sent:      683        (headers:683; body:0)
Bytes Received:  846        (headers:347; body:499)

ACTUAL PERFORMANCE
--------------

This traffic was captured on Friday, May 18, 2018.

ClientConnected:    16:21:17.244
ClientBeginRequest: 16:21:17.465
GotRequestHeaders:  16:21:17.465
ClientDoneRequest:  16:21:17.465
Determine Gateway:  0ms
DNS Lookup:         0ms
TCP/IP Connect: 0ms
HTTPS Handshake:    0ms
ServerConnected:    16:21:17.275
FiddlerBeginRequest:    16:21:17.466
ServerGotRequest:   16:21:17.466
ServerBeginResponse:    16:22:18.597
GotResponseHeaders: 16:22:18.597
ServerDoneResponse: 16:22:18.599
ClientBeginResponse:    16:22:18.599
ClientDoneResponse: 16:22:18.599

    Overall Elapsed:    0:01:01.133

RESPONSE BYTES (by Content-Type)
--------------
application/json: 499
       ~headers~: 347

后续请求(需要 0.120 分钟)

Request Count:   1
Bytes Sent:      683        (headers:683; body:0)
Bytes Received:  846        (headers:347; body:499)

ACTUAL PERFORMANCE
--------------

This traffic was captured on Friday, May 18, 2018.

ClientConnected:    16:22:38.582
ClientBeginRequest: 16:22:38.607
GotRequestHeaders:  16:22:38.607
ClientDoneRequest:  16:22:38.607
Determine Gateway:  0ms
DNS Lookup:         0ms
TCP/IP Connect: 0ms
HTTPS Handshake:    0ms
ServerConnected:    16:22:38.589
FiddlerBeginRequest:    16:22:38.607
ServerGotRequest:   16:22:38.607
ServerBeginResponse:    16:22:38.726
GotResponseHeaders: 16:22:38.726
ServerDoneResponse: 16:22:38.727
ClientBeginResponse:    16:22:38.727
ClientDoneResponse: 16:22:38.727

    Overall Elapsed:    0:00:00.120

RESPONSE BYTES (by Content-Type)
--------------
application/json: 499
       ~headers~: 347

这就是使用浏览器进行的另一个首次调用的样子 Chrome Network Analysis

谢谢!!

最佳答案

所以,我终于发表了这篇关于 LDAP 的文章 -> Debugging a timeout with ldap auth on apache

这恰好是我的情况。 将 LDAPConnectionPoolTTL 0 添加到我的 httpd.config 解决了我的问题。

关于java - Apache 服务器上的第一个 REST 调用速度缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50476807/

相关文章:

java - 尝试使用 JAVA 将位置传递给 Web 服务时出现问题

java - 使用矩形数组的简单嵌套 for 循环出现越界异常

regex - Htaccess 更改 php 扩展名

rest - Spring Boot 的 TestRestTemplate 和 HATEOAS PagedResources

REST API - 端点语法 - 按属性获取项目 - 而不是按 id

java - 用于 SaaS 预订应用程序的 Drupal 或框架

java - 如何从我的重定向页面查找导致重定向的网址?

java - maven-surefire-plugin 虚拟 :dummy. jar :1. 0 丢失

apache - Flowplayer 从 apache 流式传输 mp4

rest - 在 FLASK 中构建 REST API