Как отладить не отвечающий веб-сервер

Как отладить не отвечающий веб-сервер

У нас естьСредний экземпляр EC2работает под управлением Ubuntu 12.04, обслуживая около дюжины небольших веб-приложений PHP через Apache.

Примерно через день сервер перестает отвечать на запросы, и для восстановления работоспособности требуется перезагрузка экземпляра. В это время доступ к серверу по HTTP или SSH невозможен.

Каждый раз последний зарегистрированный запрос Apache относится к приложению PHP, которое обслуживает документ PDF размером 4 МБ. User Agent всегда идентифицирует клиента как iPad (в частности Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25) и часто имеет тот же IP-адрес, и, следовательно, вероятно, тот же пользователь.

Приложение PHP является устаревшим и проверяет некоторые разрешения перед тем, как отобразить содержимое файла с диска клиенту. Мы не смогли воспроизвести эту проблему самостоятельно, ни с помощью iPad, ни путем доступа к файлу любым другим способом.

Мы испробовали несколько решений для мониторинга, чтобы попытаться получить более полную картину того, что происходит при сбое сервера, но ни одно из них не выявило никаких проблем с системными ресурсами.

Мой вопрос: какие стратегии мы можем использовать, чтобы попытаться устранить неполадки и, возможно, решить эту проблему?

решение1

Начните с мониторинга системных ресурсов (загрузка процессора, памяти, диска), например, с помощью collectd или sysstat.

Имейте в виду, что я рискую, проблема, которую вы описываете, может быть результатом исчерпания ресурса (скорее всего, памяти), запустите egrep -i 'killed process' /var/log/*поиск вызовов OOM killer.

Системные журналы могут содержать следы причины ( /var/log/messagesжурналы ошибок Apache).

Попробуйте включить более подробные журналы и внимательно следите за своей системой во время ее тестирования.

Связанный контент