Случайная высокая загрузка ЦП

У меня есть сервер, который внезапно достигает пика средней нагрузки от 4 до 6 в случайное время дня и не может точно определить причину. В большинстве случаев средняя нагрузка колеблется от 1,5 до 2, а затем внезапно увеличивается до 4 или 6 и снова падает. У меня запущен mariadb и процессы apache, но когда я проверяю свой apache на предмет скачков трафика, он выглядит примерно таким же, как и количество запросов, обрабатываемых с помощью mariadb.

здесь вверху:

top - 23:58:16 up 2 days,  7:05,  1 user,  load average: 3.64, 3.07, 2.93
Tasks: 290 total,   1 running, 289 sleeping,   0 stopped,   0 zombie
%Cpu(s): 18.5 us, 10.8 sy,  0.0 ni, 70.3 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem : 13174942+total, 11137099+free,  3200604 used, 17177824 buff/cache
KiB Swap:  4190204 total,  4190204 free,        0 used. 12759236+avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                       
  934 mysql     20   0 8965860 1.360g   9376 S 353.8  1.1   4240:34 mysqld                        
    9 root      20   0       0      0      0 S   0.3  0.0   5:48.98 rcu_sched                     
   43 root      20   0       0      0      0 S   0.3  0.0   0:04.45 ksoftirqd/7                   
  798 root      20   0   24192   1700   1380 S   0.3  0.0   0:09.10 systemd-logind                
17627 apache    20   0  586792  22372   8652 S   0.3  0.0   0:00.61 httpd                         
24715 root      20   0       0      0      0 S   0.3  0.0   0:04.30 kworker/u24:0                 
    1 root      20   0  191404   4356   2404 S   0.0  0.0   0:20.04 systemd                       
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd                      
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.80 ksoftirqd/0                   
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                  
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.17 migration/0       

Несколько подробнее:

  • MariaDB выполняет много операций чтения и записи, примерно 2 ГиБ в час полученного и отправленного трафика.
  • Статистика запросов показывает около 55% ВЫБРАННЫХ и 27% ОБНОВЛЕНИЙ. Я хочу убедиться в этом ' s мой сервер базы данных вызывает всплески, прежде чем я переключусь на другой движок, такой как INNODB.
  • Память выглядит много.
              total        used        free      shared  buff/cache   available
Mem:         128661        3534      104646          88       20480      124164
Swap:          4091           0        4091
  • iotop показывает следующее: у меня есть SSD на Raid 1.
Total DISK READ :   0.00 B/s | Total DISK WRITE :    1574.60 K/s
Actual DISK READ:   0.00 B/s | Actual DISK WRITE:       0.00 B/s
  • Вся моя база данных фактически почти где-то рядом. Размер 250 МБ.

Похоже, проблема связана с процессором, так как у меня все еще много оперативной памяти, а SSD не работает ни с чем, близким к скорости чтения / записи. Я подозреваю, что я запускаю все свои таблицы базы данных на движке MyISAM, и я вижу много «ожиданий блокировок на уровне таблицы», но в то же время я чувствую, что операции чтения / записи согласованы в течение дня, поэтому я не уверен почему это просто внезапно вспыхнуло. Также не похоже, чтобы выбросить больше памяти или SSD помогло бы, поскольку он почти не использует что-либо из этого. Может быть, у меня неправильная конфигурация MariaDB?

0
задан 7 February 2017 в 23:52
1 ответ
  1. Попробуйте использовать общий журнал запросов, чтобы узнать, есть ли у вас процессы cron или другие запросы https://mariadb.com/kb/en/mariadb/general-query-log/
  2. Такие инструменты, как Monit, newrelic или datadog, можно использовать для подтверждения того, что, сколько и когда использует ваш процессор,
0
ответ дан 5 December 2019 в 08:40

Теги

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