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

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

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

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

Я открыл / var / log / messages и прокрутил до времени перезагрузки и ничего не вижу, никаких ошибок до жесткой перезагрузки. (Я проверил /etc/syslog.conf и вижу «* .info; mail.none; authpriv.none; cron.none / var / log / messages», разве этого недостаточно, чтобы регистрировать все проблемы?)

Обычно, когда я смотрю наверх, своп никогда так не расходуется! Я также не знаю, почему mysqld имеет 323% процессора (сервер запускает только drupal, и он никогда не медленный и не перегруженный). Решатель - это мое приложение. Я не знаю, что делают это дерьмо и голубятня.

Это сводит меня с ума за последний месяц, пожалуйста, помогите мне разгадать эту загадку и прекратить мои простои.

top - 01:10:06 up 6 days, 5 min,  3 users,  load average: 34.87, 18.68, 9.03
Tasks: 500 total,  19 running, 481 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us, 96.6%sy,  0.0%ni,  1.7%id,  1.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8165600k total,  8139764k used,    25836k free,      428k buffers
Swap:  2104496k total,  2104496k used,        0k free,     8236k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                                            
 4421 mysql     15   0  571m 105m  976 S 323.5  1.3   9:08.00 mysqld                                                                                                                                                                                            
  564 root      20  -5     0    0    0 R 99.5  0.0   2:49.16 kswapd1                                                                                                                                                                                            
25767 apache    19   0  399m 8060  888 D 79.3  0.1   0:06.64 httpd                                                                                                                                                                                              
25781 apache    19   0  398m 5648  492 R 79.0  0.1   0:08.21 httpd                                                                                                                                                                                              
25961 apache    25   0  398m 5700  560 R 76.7  0.1   0:17.81 httpd                                                                                                                                                                                              
25980 apache    25   0 10816  668  520 R 75.0  0.0   0:46.95 sh                                                                                                                                                                                                 
  563 root      20  -5     0    0    0 D 71.4  0.0   3:12.37 kswapd0                                                                                                                                                                                            
25766 apache    25   0  399m 7256  756 R 69.7  0.1   0:39.83 httpd                                                                                                                                                                                              
25911 apache    25   0  398m 5612  480 R 58.8  0.1   0:17.63 httpd                                                                                                                                                                                              
25782 apache    25   0  440m  38m  648 R 55.2  0.5   0:18.94 httpd                                                                                                                                                                                              
25966 apache    25   0  398m 5640  556 R 55.2  0.1   0:48.84 httpd                                                                                                                                                                                              
 4588 root      25   0 74860  596  476 R 53.9  0.0   0:37.90 crond                                                                                                                                                                                              
25939 apache    25   0  2776  172   84 R 48.9  0.0   0:59.46 solver                                                                                                                                                                                             
 4575 root      25   0  397m 6004 1144 R 48.6  0.1   1:00.43 httpd                                                                                                                                                                                              
25962 apache    25   0  398m 5628  492 R 47.9  0.1   0:14.58 httpd                                                                                                                                                                                              
25824 apache    25   0  440m  39m  680 D 47.3  0.5   0:57.85 httpd                                                                                                                                                                                              
25968 apache    25   0  398m 5612  528 R 46.6  0.1   0:42.73 httpd                                                                                                                                                                                              
 4477 root      25   0  6084  396  280 R 46.3  0.0   0:59.53 dovecot                                                                                                                                                                                            
25982 root      25   0  397m 5108  240 R 45.9  0.1   0:18.01 httpd                                                                                                                                                                                              
25943 apache    25   0  2916  172    8 R 44.0  0.0   0:53.54 solver                                                                                                                                                                                             
30687 apache    25   0  468m  63m 1124 D 42.3  0.8   0:45.02 httpd                                                                                                                                                                                              
25978 apache    25   0  398m 5688  600 R 23.8  0.1   0:40.99 httpd                                                                                                                                                                                              
25983 root      25   0  397m 5272  384 D 14.9  0.1   0:18.99 httpd                                                                                                                                                                                              
  935 root      10  -5     0    0    0 D 14.2  0.0   1:54.60 kjournald                                                                                                                                                                                          
25986 root      25   0  397m 5308  420 D  8.9  0.1   0:04.75 httpd                                                                                                                                                                                              
 4011 haldaemo  25   0 31568 1476  716 S  5.6  0.0   0:24.36 hald                                                                                                                                                                                               
25956 apache    23   0  398m 5872  644 S  5.6  0.1   0:13.85 httpd                                                                                                                                                                                              
18336 root      18   0 13004 1332  724 R  0.3  0.0   1:46.66 top                                                                                                                                                                                                
    1 root      18   0 10372  212  180 S  0.0  0.0   0:05.99 init                                                                                                                                                                                               
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.95 migration/0                                                                                                                                                                                        
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.01 ksoftirqd/0                                                                                                                                                                                        
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                                                                                                                                                         
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.15 migration/1                                                                                                                                                                                        
    6 root      34  19     0    0    0 S  0.0  0.0   0:00

0,06 тыс. Фунтов стерлингов / 1

вот нормальный топ, когда сервер работает нормально:

top - 01:50:41 up 21 min,  1 user,  load average: 2.98, 2.70, 1.68
Tasks: 271 total,   2 running, 269 sleeping,   0 stopped,   0 zombie
Cpu(s): 15.0%us,  1.1%sy,  0.0%ni, 81.4%id,  2.4%wa,  0.1%hi,  0.0%si,  0.0%st
Mem:   8165600k total,  2035856k used,  6129744k free,    60840k buffers
Swap:  2104496k total,        0k used,  2104496k free,   283744k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                                            
 2204 apache    17   0  466m  83m  19m S 25.9  1.0   0:22.16 httpd                                                                                                                                                                                              
11347 apache    15   0  466m  83m  19m S 25.9  1.0   0:26.10 httpd                                                                                                                                                                                              
18204 apache    18   0  481m  97m  19m D 25.2  1.2   0:13.99 httpd                                                                                                                                                                                              
 4644 apache    18   0  481m 100m  19m D 24.6  1.3   1:17.12 httpd                                                                                                                                                                                              
 4727 apache    17   0  481m  99m  19m S 24.3  1.2   1:10.77 httpd                                                                                                                                                                                              
 4777 apache    17   0  482m 102m  21m S 23.6  1.3   1:38.27 httpd                                                                                                                                                                                              
 8924 apache    15   0  483m  99m  19m S 22.3  1.3   1:13.41 httpd                                                                                                                                                                                              
 9390 apache    18   0  483m  99m  19m S 18.9  1.2   1:05.35 httpd                                                                                                                                                                                              
 4728 apache    16   0  481m 101m  19m S 14.3  1.3   1:12.50 httpd                                                                                                                                                                                              
 4648 apache    15   0  481m 107m  27m S 12.6  1.4   1:18.62 httpd                                                                                                                                                                                              
24955 apache    15   0  467m  82m  19m S  3.3  1.0   0:21.80 httpd                                                                                                                                                                                              
 4722 apache    15   0  503m 118m  19m R  1.7  1.5   1:17.79 httpd                                                                                                                                                                                              
 4647 apache    15   0  484m 105m  20m S  1.3  1.3   1:40.73 httpd                                                                                                                                                                                              
 4643 apache    16   0  481m 100m  20m S  0.7  1.3   1:11.80 httpd                                                                                                                                                                                              
 1561 root      15   0 12900 1264  828 R  0.3  0.0   0:00.54 top                                                                                                                                                                                                
 4434 mysql     15   0  496m  55m 4812 S  0.3  0.7   0:06.69 mysqld                                                                                                                                                                                             
 4646 apache    15   0  481m 100m  19m S  0.3  1.3   1:25.51 httpd                                                                                                                                                                                              
    1 root      18   0 10372  692  580 S  0.0  0.0   0:02.09 init                                                                                                                                                                                               
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.03 migration/0                                                                                                                                                                                        
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                                                                                                                                                                                        
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                                                                                                                                                         
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/1                                                                                                                                                                                        
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1                                                                                                                                                                                        
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1                                                                                                                                                                                         
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/2                                                                                                                                                                                        
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/2                                                                                                                                                                                        
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2                                                                                                                                                                                         
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/3                                                                                                                                                                                        
   12 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/3                                                                                                                                                                                        
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3                                                                                                                                                                                         
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:00.03 migration/4                                                                                                                                                                                        
   15 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/4                                                                                                                                                                                        
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4                                                                                                                                                                                         
   17 root      RT  -5     0    0    0 S  0.0  0.0   0:00.02 migration/5                                                                                                                                                                                        
   18 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/5                                                                                                                                                                                        
   19 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/5                                                                                                                                                                                         
   20 root      RT  -5     0    0    0 S  0.0  0.0   0:00.01 migration/6                                                                                                                                                                                        
   21 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/6                                                                                                                                                                                        
   22 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/6                                                                                                                                                                                         
   23 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/7    

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

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

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

Вы хотите ограничить максимальное количество процессов apache числом, которое умещается в памяти без обмена.

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

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

Майк.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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