
こんにちは。CentOS 6.3 で実行されている Solr 3.6.1 サーバーに接続する LAMP スタックがあります。アプリのベンチマーク中に、PHP が Solr に検索クエリを送信して結果を取得するのにかかる時間が突然急増していることに気付きました。
この時間は通常約 20 ~ 40 ミリ秒で、Solr の場合はQTime
通常 0 ~ 30 ミリ秒です。
私のベンチマーク結果:
Start function msec
Creating the query 2.50196456909 msec
Executing query and getting results (PHP & Solr) 37.4531745911 msec
\->Executing query (as reported by Solr QTime) 21 msec
Processing Solr results
問題:ただし、このステップがExecuting query and getting results (PHP & Solr)
2000 ミリ秒以上に急上昇する場合もありますが、Solr は 0 ~ 30 ミリ秒を報告し続けますQTime
。このことから、PHP/Apache と Solr 間の接続に問題があるのではないかと疑われます。
これが真実かどうかを判断したり、この接続を改善したりするにはどうすればよいでしょうか?
答え1
curl
検索リクエストを複製するために使用する- ループし
curl
て同じ応答時間が得られるか確認する - PHP アプリを実行すると同時にループを実行し、差異があるかどうかを確認します。
- Wireshark/tcpdumpを使用してソケット接続で何が起こっているかを確認します