Как определить, медленное ли соединение PHP-to-Solr?
У меня есть стек LAMP, подключающийся к серверу Solr 3.6.1, работающему на CentOS 6.3. При тестировании моего приложения я заметил внезапные всплески времени, затрачиваемого PHP на отправку поискового запроса в Solr и получение результатов обратно.
Это время обычно составляет около 20-40 мсек и Солр 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, чтобы проверить, что происходит с соединением сокета