Две вещи, которые стоит попробовать.
Первое. , включите и следите за журналом медленных запросов mysql. В этом примере устанавливается время медленного запроса 5 секунд, вы можете поиграть с этим, пока не получите полезную информацию. Обычно это /etc/my.cnf со строками под [mysqld]:
log_slow_queries = /var/log/mysql-slow.log
long_query_time = 5
log-queries-not-using-indexes
Затем, когда вы столкнетесь с проблемой в firefox, очистите кеш. Если вы используете Chrome, попробуйте провести тестирование в окне инкогнито и посмотрите, имеет ли это значение.
Здесь несколько вещей, которые идут не так, и потенциально множество причин, не в последнюю очередь из-за производительности.
Обвинение PHP, MySQL и Apache - не очень конструктивный способ подойти к проблеме.
Apache также не показывает ничего необычного, и я никогда не получаю таймаутов PHP или ошибок памяти
Что показывает Apache для этих запросов? Вы подтвердили, что PHP регистрирует ошибки? А как насчет ведения журнала вашего приложения?
когда у меня возникает эта проблема в одном браузере (скажем, Firefox), я не могу загружать другие страницы сайта через Firefox, но могу через другой браузер (скажем, Chrome).
У вас нет. предоставил любую информацию о том, что происходит в браузере / сети. Вы только продемонстрировали это с ошибкой Firefox и успехом Chrome? Если так, вы пробовали включить SPDY в Firefox? Вы пробовали отслеживать запрос с помощью монитора пакетов, чтобы увидеть, на каком конце соединение закрывается / как закрывается соединение?
Взгляните на New Relic newrelic.com . Это сделано специально для этого. При регистрации вы получаете бесплатную пробную версию Pro (150 долларов за сервер). Это позволяет вам контролировать mysql, php, apache и всю систему. Он показывает вам графики и другие полезные функции, которые можно использовать при отладке системы. Он может показать узкие места в вашем приложении.
Я использую его на нескольких своих серверах, и он отлично работает при мониторинге производительности каждого из них.