ウェブサイトがあります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が呼び出されます。
サーバーは非常に遅く応答し、時には応答しません。ログによると、応答はuniversalalapi.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サーバーが要求を処理できないことを示します。しかし、これを実際に証明する方法はありますか?
負荷テストについて考えました。 QAの専門知識がないので、どうすればこれを行うことができるかわかりません。
このサーバーをどのように調整しましたか?
頑張った
通常のカールは許可されていないため、universalapiにカールPOSTリクエストを送信します。
カール:(35)ピアによるTCP接続のリセット
ping universalapi pingはIPを提供しますが、pingはできません。リモートサーバーでpingが無効になっている可能性があります。
TelnetはそのIPのポート443で動作しますが、これは私が興味のある変数を提供しません。サーバーから応答を受信するのにかかる時間です。私がこれを見つけようとしたとき。