Назад | Перейти на главную страницу

Как определить медленное соединение PHP с 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 тиражировать поисковый запрос
  2. Петля curl и посмотрите, будет ли у вас такое же время отклика
  3. Запустите цикл одновременно с запуском приложения PHP и посмотрите, есть ли несоответствие.
  4. Используйте Wireshark / tcpdump, чтобы проверить, что происходит с подключением к сокету