web-dev-qa-db-ja.com

Apacheは応答するまでに長いラグがあります

CentOSにApacheサーバーがあり、2文字のテキストファイルを含め、ファイルを提供するのに1〜5秒かかることがあります。いくつかの異なるタイプのファイルを取得するJMeterテストがあり、最初に取得したファイルで遅延が発生することがよくありますが、常にそうとは限りません。これは、複数の要求が並列または順次にある場合に当てはまります。実際に提供する必要のあるページはPHP/Oracleですが、PHPはテキストファイルを解析していないため、問題はコードにないものと想定しています(確認しました)。 。

  • HostnameLookupsはオフです。/etc/httpdをgrepして、それらをすべて根絶したことを確認しました。
  • ネットワーク内外の人々は遅れを経験します。
  • サーバー自体からwgetを実行すると、ラグも発生する可能性があり、DNSの問題ではないと思います。
  • Apache Benchで見ると、接続中と処理中の両方でラグが見られます。
  • Pingの遅れは見たことがありません。
  • ファイアウォールに一時的に例外を追加しましたが、違いがない場合は復元しました。
  • [ここ]で指定された式に従ってMaxClientsを設定します( https://servercheck.in/blog/3-small-tweaks-make-Apache-fly
  • サーバーはSSLをサポートしていますが、私が実行しているテストは通常​​HTTP経由でテストします。たまにHTTPSでテストを実行しますが、その速度は一般的に安全性の低いものを表しています。
  • AllowOverrideを使用して.htaccessファイルを解析していますが、それを無効にしてテストしたところ、同じラグが見られました。
  • Httpd.confに潜んでいるすべての設定からの許可/拒否はほとんどありません
  • 私はまだApacheMPMとvalgrindを調べています。

いくつかの関連するApache設定:

StartServers 8 
 MinSpareServers 5 
 MaxSpareServers 20 
 ServerLimit 256 
 MaxClients 136 
 MaxRequestsPerChild 4000

Here's a screenshot of the five-second wait time getting the text file. wget reports the transaction took 0 seconds, but you can see the start and end times are 5 seconds apart.JMeter resultsab results didn't seem helpful, but I may be failing to interpret them properly.

私が相談したリソースのいくつか:

どんな助けでも大歓迎です。ありがとうございました。

2
kjc26ster

同僚が私に このページ を指摘し、/ etc /resolv.confに以下を追加することを推奨しました。

options single-request-reopen

それがそれを修正したのか、それとも私が試したいくつかの組み合わせであったのかはわかりませんが、これを追加した後、リソースにアクセスする他の人々は大幅なスピードアップを示しました。それが他の誰かに役立つことを願っています。

1
kjc26ster

JMeter View Results TableListenerでLatencyに言及します。

負荷レポート

LATENCYは、リクエストがサーバーに到達するために必要な遅延です。

ネットワーク構成を調べることをお勧めします。最適なオプションは mtr ツールです。

詳細については、 MTRを使用したネットワークの問題の診断 ガイドを参照してください。

0
Dmitri T