ウェブサイト検索

typescript - なぜ await axios.post(<有効なリクエスト>) がほぼ1分間も停止するのか、その理由は Linux のみで発生するのですか?


私は、自分の既存のサービスに詳細を送信することによって、IDサーバーへのトークンリクエストを実行しようとしています。postに到達すると、サービスは最大で1分間(記録上最長は58秒)停止します。

私は、ネイティブハードウェア(Mint Cinnamon 19.1)と仮想マシン(Ubuntu 18.04)の両方でテストを試みましたが、結果は同じでした。この問題は、WindowsやMacでは発生しません。

いくつかのラップされた関数が処理を遅くしているのではないかと思い、いくつかのログ行と共にそれらを分離しました。次の行までのすべての行を含めて

POSTによるペイロードの送信

ほとんど瞬時に印刷されます。

console.log('Sending token request ');
console.log('Fetching string map');
const stringMap = request.toStringMap();
console.log('Beginning stringification');
const payload = this.utils.stringify(stringMap);

console.log('Submitting payload via POST');
const response = await axios.post(
  configuration.tokenEndpoint,
  payload,
  {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    responseType: 'json'
  });
console.log('Resolving \'performTokenRequest\'');

Windows と Mac では、このリクエストは送信されてから処理されるまで 300ms 以内であり、これは予想通りです。しかし、Linux(Mint 19.1 ネイティブおよび Ubuntu 18.04 VM でテスト)では、このリクエストは最大で 1 分間も停止します(サーバー側のデバッグアタッチで確認したところ、サービスには送信されません)。タイミングは任意のようで、場合によっては非常に長いこともあれば、わずか 10 秒程度で終了することもあります。

メッセージが認証サービスに送信されると、それが処理され、約100ms以内に応答が返され、残りのコードは迅速に処理を続けます。

なぜこれがLinuxでだけ発生し、他の環境では発生しないのか分かりません。axiosの問題リストを探してみましたが、特に何も見つかりませんでした。OSの設定の問題なのか、それとも私が忘れているaxios内で設定できる何かの問題なのかと思っています。