мой сервер внезапно отказывает каждые 2 дня или около этого. Программист понятия не имеет, помогите найти причину, вот вершина

Думайте, что я понял это.. старый добрый O'Reilly..

Я просто должен использовать:

TLS_Clt:                           VERIFY
TLS_Srv:                           VERIFY

Надо надеяться, это исключит все не действительные сертификаты и все не попытки безопасного соединения.

0
задан 3 July 2011 в 08:01
7 ответов

Главный вывод указывает, что у Вас заканчивается память. Ничто в вершине (ЦП) пользователи, которых Вы отправили, не является преступником. В то время как Вы могли уехать, главное выполнение в отсортированном по памяти режиме (нажмите капитал-M в вершине для переключения), Вы - далеко более обеспеченный сбор данных к диску для более позднего анализа. В то время как sar полезно в целом, это бесполезно для материала для каждого процесса; для этого Вам нужно pidstat (в том же пакете как sar -- sysstat на Debian). К сожалению, pidstat испытывает недостаток в некоторых объемных тонкостях сбора данных sar, но не трудно починить что-то, что это получит необходимые данные на диск для более позднего прочтения.

1
ответ дан 4 December 2019 в 11:00

Мое предположение - то, что Ваша система подкачивает себя до смерти из-за веб-запросов ожидания, когда база данных блокирует. У Вас, вероятно, есть один или два запроса, которые работают эпизодически - возможно от cronjob - которые вызывают одну из таблиц базы данных, которая часто используется для блокировки. После того как это делает, все запросы запускают поддержку позади него, пока система не начинает подкачивать. После того как это начинает происходить, это - конец его.

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

7
ответ дан 4 December 2019 в 11:00

Используйте mytop или любую другую утилиту, которая покажет Вам список текущих рабочих запросов в MySQL, чем попытка узнать, где Вы используете, чем. Похож на выполнения mysql, что-то тяжелое и сервер начинают подкачивать данные, одновременно апач обрабатывает старые и новые запросы и начинает подкачивать их также

0
ответ дан 4 December 2019 в 11:00

Взгляните на свою конфигурацию apache. в памяти без подкачки .

Если вы начнете менять местами (которые у вас есть), ваш apache будет работать как полнейшая собака. В этот момент любое новое соединение приведет к тому, что apache будет порождать еще больше дочерних элементов (поскольку все ваши текущие дочерние элементы заняты).

Если количество процессов apache, которые умещаются в памяти, недостаточно для обслуживания вашего запросов, вам нужно больше памяти или для оптимизации приложения. Первое, что нужно посмотреть то ваши запросы mysql. Проверить индексы. Любой медленный запрос станет узким местом вокруг которого будут синхронизироваться все ваши процессы apache, т.е. если ваш самый медленный запрос принимает 1 секунда, и у вас есть только 5 процессов apache, которые могут поместиться в памяти, тогда вы не сможет обрабатывать более 5 запросов в секунду.

Майк.

3
ответ дан 4 December 2019 в 11:00

Средняя нагрузка при обычном использовании немного высока. 1,68? Это не лучшее число для интерактивного сервера.

Вы перешли с 271 до 500 процессов. Вверху нет ничего, что показывало бы, куда идет память, но я подозреваю, что у вас много процессов, занимающих доли процента от общего объема ОЗУ. Например, процессы Apache.

Похоже, что-то создает узкое место в ЦП, из-за которого запросы накапливаются, пока у вас не закончится ОЗУ. Это может быть работа cron, или, может быть, само приложение требует процессора.

Я готов поспорить, учитывая среднюю нагрузку 1,68 при регулярном использовании и высокую нагрузку на MySQL, то есть неоптимальный запрос.

Если приложение может ограничивать количество одновременных пользователей, это может быть неубедительным (но эффективным) способом временно справиться с ситуацией. Начните регистрацию с помощью sar и включите журнал медленных запросов.

Все это сказано ... это то, за что сисадминам платят деньги. Наверное, это не так просто, как посмотреть на вывод top и прописать решение. выполняется неоптимальный запрос.

Если приложение может ограничивать количество одновременных пользователей, это может быть неубедительным (но эффективным) способом временно справиться с ситуацией. Начните регистрацию с помощью sar и включите журнал медленных запросов.

Все это сказано ... это то, за что сисадминам платят деньги. Наверное, это не так просто, как посмотреть на вывод top и прописать решение. sa неоптимальный запрос.

Если приложение может ограничивать количество одновременных пользователей, это может быть неубедительным (но эффективным) способом временно справиться с ситуацией. Начните регистрацию с помощью sar и включите журнал медленных запросов.

Все это говорит ... это то, за что сисадминам платят деньги. Наверное, это не так просто, как посмотреть на вывод top и прописать решение. Деньги, которые вы потратите на то, чтобы заставить вашего разработчика исправить это, вероятно, лучше было бы потратить заранее на системного администратора, чтобы внимательно изучить производительность системы.

(dovecot - это сервер imap / pop3. Sh на apache подозрительно , но ваш разработчик может это посмотреть.)

1
ответ дан 4 December 2019 в 11:00

поверх - это то, что вам нужно. http://www.atoptool.nl/ . Доступно везде, где не продаются прекрасные дистрибутивы. ;)

Не забудьте включить включенный демон на уровнях загрузки init / systemd. Затем вы можете использовать

atop -r /var/log/atop/<rawfile>

для просмотра улучшенного верхнего интерфейса, который может ДВИГАТЬСЯ НАЗАД И ВПЕРЕД во времени с помощью 't' и 'T', и агрегировать ресурсы, используемые для всех программ, работающих с тем же именем (также известного как 'apache' или ' httpd '). Очень полезно посмотреть, что съело вашу оперативную память и SWAP убивает ваш ящик. Среди МНОГО ДРУГОГО.

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

0
ответ дан 4 December 2019 в 11:00

Я согласен с Майком в том, что конфигурация вашего веб-сервера в настоящее время принимает больше подключений, чем может обработать. Ограничение количества запросов является частью решения по защите вашей системы, но для сохранения доступности вашей службы вам необходимо исследовать причины нарастания трафика (анализ журналов) и уменьшить количество резидентных Запросы. Последнее делается с настройкой ваших сообщений поддержки активности, кэшированием и оптимизацией базы данных - дополнительным анализом журналов. Также существует множество проверок, которые вы должны выполнить в своей операционной системе - чтобы убедиться, что вы используете правильные параметры монтирования, планировщик io, балансировку irq и т. Д.

Убедитесь, что mysql не настроен на использование чрезмерного объема памяти с помощью mysqltuner .pl, и что избыточное выделение памяти отключено.

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

0
ответ дан 4 December 2019 в 11:00

Теги

Похожие вопросы