我如何找出连接问题的原因和位置?

我如何找出连接问题的原因和位置?

有一个网站www.example.com

它命中了一个 API。

假设它的 URL 是www.example.com/backend/v1/path/to/what/i/want

现在,这个 URL 又调用另一个 api。

https://www.universalapi.com

许多客户端使用相同的 api,这就是它被称为universalapi.

例如,example2.com在从后端重定向后也会调用相同的 API,就像上面发生的情况一样。

服务器的响应速度非常慢,有时甚至不响应。根据日志,响应似乎来自 universalapi.com。

2024-02-14 13:17:58 [blablathread]    ERROR a.b.c.d.e.RestNxTemplate:81 - Error response : I/O error on POST request for  "https://universalapi.com/this/is/what/i/want": Read timed out; nested exception is javax.net.ssl.SSLException: Read timed out
2024-02-14 13:17:58 [blablathread]   ERROR a.b.c.d.e.RestNxTemplate:83 - Error log :
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://universalapi.com/this/is/what/i/want": Read timed out; nested exception is javax.net.ssl.SSLException: Read timed out

有时它也会给出正确的响应,即来自 api 的数据。但有时它很慢,这就是我需要调查的以及为什么我会读取超时,实际问题在哪里?

问题是,如前所述,universalapi 正在受到各种客户端的攻击,并且所有客户端都能够显示输出。这表明服务器 example.com 无法处理该请求。但有什么方法可以真正证明这一点吗?

我想到了负载测试。尽管我没有质量保证专业知识,但不确定我如何能够做到这一点。

你是如何调整这个服务器的?

我尝试过了

  1. 由于不接受普通的curl,因此向universalapi 发送curl POST 请求。

    curl: (35) TCP 连接被对等方重置

  2. ping universalapi ping 给出了 ip,但无法 ping 通。远程服务器上的 ping 很可能被禁用。

  3. telnet 正在该 IP 的端口 443 上工作,但这并没有提供我感兴趣的变量。这是从服务器获得响应所需的时间。当我试图弄清楚这一点时。

相关内容