Рейтинг:1

Сервер всегда медленный около 14:00 в течение 1 недели

флаг no

Я сделал топ и получил:

Задания: 590 всего, 8 бегущих, 582 спящих, 0 остановленных, 0 зомби
ЦП: 96,5%us, 2,7%sy, 0,0%ni, 0,4%id, 0,0%wa, 0,0%hi, 0,4%si, 0,0%st
Память: 32877280 КБ всего, 30611188 КБ используется, 2266092 КБ свободно, 4021204 КБ буферов
Всего подкачки 0k, 0k использовано, 0k свободно, 4267024k в кеше

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21672 mysql 20 0 13.1G 8.9G 8496 S 559.1 28.3 124168:04 mysqld
12025 webs 20 0 494 м 59 м 5544 S 30,8 02 1:09,82 php-fpm
13325 полотна 20 0 414 м 57 м 8014 S 21.4 02 1:08.42 php
11111 полотна 20 0 495 м 64 м 3231 S 18,5 02 1:12,16 php-fpm
13232 полотна 20 0 505 м 96 м 8542 S 16,5 02 1:12,12 php-fpm
13217 полотна 20 0 401 м 52 м 8541 S 15,5 02 1:02,44 php-fpm
13119 паутины 20 0 475м 39м 8555 S 15.5 02 1:02.16 php-fpm
12065 паутины 20 0 495 м 49 м 2533 S 14,9 02 1:22,41 php-fpm
12161 паутины 20 0 412м 61м 2524 S 10.5 02 1:06.01 php-fpm
12275 паутины 20 0 455м 51м 1544 S 10.5 02 1:34.04 php-fpm
12427 паутины 20 0 464 м 92 м 7541 S 10,5 02 1:31,41 php-fpm
12127 webs 20 0 459м 89м 6544 S 10.5 02 1:01.19 php-fpm

Теперь я подумал, и я подумал, что лучший способ сделать сервер быстрее - это перезапустить процесс mysqld, но как мне убедиться, что не происходит большого дампа sql? Я показал полный список процессов, но мне сказали, что он не сообщает вам, есть ли текущий дамп, потому что вставка происходит очень быстро. Кроме того, как мне продолжить расследование? В статье, которую я читал, мне сказали, что если id и wa низкие, мне нужно проверить, высока ли загрузка ЦП, и если ЦП высока, мне нужно перезапустить процесс. Как часто я должен перезагружаться, каково дерево решений, когда сервер замедляется, что мне нужно сделать?

Я показал полный список процессов и получил:

1 системный пользователь Daemon InnoDB координатор очистки    
4 системных пользователя Daemon InnoDB purge worker 
3 системных пользователя Daemon InnoDB purge worker 
2 системных пользователя Daemon InnoDB purge worker 
5 системный пользователь Daemon InnoDB обработчик выключения 
109725 root localhost:54620 Query 0 Init показать полный список процессов
142438 тортов локальные торты Сон 295     
142449 тортов localhost торты Sleep 21      
144422 блины localhost блины Sleep 54      
144426 блинов localhost: 54038 блинов Сон 56      
145072 bookletv3 localhost bookletv3 Запрос 0 Отправка данных ВЫБЕРИТЕ SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts ВНУТРЕННЕЕ СОЕДИНЕНИЕ wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) INNER JOIN wp_prod wc ON wc.post_id = wp_posts.ID И (0 или 1) И (wc. stock = 'm004189' ИЛИ ​​wc.vin = 'm004189') AND ( wc.isbudget IS NULL OR wc.isbudget <> 1 ) AND ( wc.deleted IS NULL OR wc.deleted <> 1 ) WHERE 1=1 AND ( 
  wp_postmeta.meta_key = '_prod_info_new'
) И wp_posts.post_type = 'used-prod' И (wp_posts.post_status = 'опубликовать') СГРУППИРОВАТЬ ПО wp_posts.ID ПОРЯДОК ПО wc.SoldDate IS NULL, wc.SoldDate ASC, wc.isnew DESC LIMIT 0, 15
145073 bookletv3 localhost:33840 bookletv3 Sleep 0       
145074 bookletv3 localhost bookletv3 Запрос 0 Статистика -- (бренд) город продукта
      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )
    
      ГДЕ c.product != '' И c.product = 'тирамису' И s.`city` = 'losangeles' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("HY2112","HY1134","HY90428","HY10223","AR13821","AR90498","AR90613","BR92144","BR9239") 

      ПРЕДЕЛ 1)


      -- бренд города
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = 'Chewy' И s.brand != '' И s.`city` = 'losangeles' И s.`city` != '' И s.`prod_type` = 1 И s.text_es <> '')


      -- город
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_city_seo`
      ГДЕ `city_slug` = 'losangeles' И `city_slug` != ''
      ПРЕДЕЛ 1)


      -- товар
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )

      ГДЕ c.product = 'тирамису' И c.product != '' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("HY2112","HY1134","HY90428","HY10223","AR13821","AR90498","AR90613","BR92144","BR9239")

      ПРЕДЕЛ 1)


      -- марка
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ (s.brand = 'Жевать' ИЛИ ​​s.brand = '') И s.brand != '' И s.`prod_type` = 1 И s.text_es <>''

      ПРЕДЕЛ 1)

      -- никто
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = '' И s.product = '' И s.`prod_type` = 1 И s.text_es <>'')

      ПРЕДЕЛ 1
145075 bookletv3 localhost bookletv3 Sleep 0       
145076 bookletv3 localhost bookletv3 Sleep 0       
145077 bookletv3 localhost:33858 bookletv3 Sleep 0       
145078 bookletv3 localhost:33860 bookletv3 Sleep 0       
145079 bookletv3 localhost:33862 bookletv3 Sleep 0   
145080 bookletv3 localhost bookletv3 Запрос 0 Статистика -- (бренд) город продукта
      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )
    
      ГДЕ c.product != '' И c.product = 'маффины' И s.`city` = 'losangeles' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("HY2112","HY1134","HY90428","HY10223") 

      ПРЕДЕЛ 1)


      -- бренд города
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = 'Chewy' И s.brand != '' И s.`city` = 'losangeles' И s.`city` != '' И s.`prod_type` = 1 И s.text_es <> '')


      -- город
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_city_seo`
      ГДЕ `city_slug` = 'losangeles' И `city_slug` != ''
      ПРЕДЕЛ 1)


      -- товар
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )

      ГДЕ c.product = 'muffin' И c.product != '' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("HY2112","HY1134","HY90428","HY10223","AR13821","AR90498","AR90613","BR92144","BR9239")

      ПРЕДЕЛ 1)


      -- марка
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ (s.brand = 'Chewy' ИЛИ ​​s.brand = '') И s.brand != '' И s.`prod_type` = 1 И s.text_es <>''

      ПРЕДЕЛ 1)

      -- никто
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = '' И s.product = '' И s.`prod_type` = 1 И s.text_es <>'')

      ПРЕДЕЛ 1   
145081 bookletv3 localhost bookletv3 Запрос 0 Статистика -- (бренд) город продукта
      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )
    
      ГДЕ c.product != '' И c.product = 'маффины' И s.`city` = 'losangeles' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("HY2112","HY10223") 

      ПРЕДЕЛ 1)


      -- бренд города
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = 'Chewy' И s.brand != '' И s.`city` = 'losangeles' И s.`city` != '' И s.`prod_type` = 1 И s.text_es <> '')


      -- город
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_city_seo`
      ГДЕ `city_slug` = 'losangeles' И `city_slug` != ''
      ПРЕДЕЛ 1)


      -- товар
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )

      ГДЕ c.product = 'muffin' И c.product != '' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("HY2112","HY1134")

      ПРЕДЕЛ 1)


      -- марка
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ (s.brand = 'Chewy' ИЛИ ​​s.brand = '') И s.brand != '' И s.`prod_type` = 1 И s.text_es <>''

      ПРЕДЕЛ 1)

      -- никто
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = '' И s.product = '' И s.`prod_type` = 1 И s.text_es <>'')

      ПРЕДЕЛ 1
145082 bookletv3 localhost bookletv3 Запрос 0 Статистика -- (бренд) город продукта
      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )
    
      ГДЕ c.product != '' И c.product = 'тирамису' И s.`city` = 'losangeles' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("BR92144","BR9239") 

      ПРЕДЕЛ 1)


      -- бренд города
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = 'Chewy' И s.brand != '' И s.`city` = 'losangeles' И s.`city` != '' И s.`prod_type` = 1 И s.text_es <> '')


      -- город
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_city_seo`
      ГДЕ `city_slug` = 'losangeles' И `city_slug` != ''
      ПРЕДЕЛ 1)


      -- товар
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`

      ВНУТРЕННЕЕ СОЕДИНЕНИЕ `wp_prod` c
      НА (
        (c.bestproductname = s.product и c.bestproductname != '')
        ИЛИ c.product = s.product
      )

      ГДЕ c.product = 'тирамису' И c.product != '' И s.`prod_type` = 1 И s.text_es <>''
      И c.location в ("BR92144","BR9239")

      ПРЕДЕЛ 1)


      -- марка
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ (s.brand = 'Жевать' ИЛИ ​​s.brand = '') И s.brand != '' И s.`prod_type` = 1 И s.text_es <>''

      ПРЕДЕЛ 1)

      -- никто
      СОЮЗ ВСЕХ

      (ВЫБРАТЬ s.text_es текст
      ОТ `wp_prod_brandproduct_seo`
      ГДЕ s.brand = '' И s.product = '' И s.`prod_type` = 1 И s.text_es <>'')

      ПРЕДЕЛ 1

Любое руководство по этому поводу? Я боюсь, потому что я не уверен на 100%, что делать.

флаг in
Перезапуская демон, вы устраняете только симптомы. Вместо этого найдите причину. Если это происходит в определенное время, скорее всего, в это время выполняется задание cron. Проверьте, что он делает, и исправьте или оптимизируйте его.
флаг in
Если причиной являются веб-запросы, проверьте журналы доступа. Возможно, причиной является плохо запрограммированный сканер.
Patrick Mevzek avatar
флаг cn
«Теперь я подумал, и я подумал, что лучший способ сделать сервер быстрее — это перезапустить процесс mysqld». Почему вы так думаете? Предполагается, что оперативная память используется, свободная оперативная память бесполезна, см. https://www.linuxatemyram.com/; если он использует память, это потому, что он кэширует множество вещей, которые **улучшают** производительность, перезапуская его, вы теряете все это, и на самом деле ваша система сразу после этого будет работать медленнее.
Patrick Mevzek avatar
флаг cn
«Сервер всегда работает медленно около 14:00 в течение 1 недели» Определение медленного. Что медленно? Насколько от нормы? У вас есть мониторинг, чтобы отслеживать тенденции и сравнивать вещи, или это просто «субъективно». Что именно означает «около 14:00 в течение 1 недели»? Есть ли у вас какие-либо задания cron, работающие в 14:00? Вы смотрели свои лог-файлы Apache, чтобы увидеть, какая активность у вас была в этот период времени? Отслеживаете ли вы свои лог-файлы и/или поведение Apache? И т.д.
Patrick Mevzek avatar
флаг cn
"Какой-нибудь учебник по этому поводу?" Ваш вопрос слишком широк, вы просто спрашиваете, как выполнять работу системного администратора, основываясь на нескольких деталях. Ваш вывод `top` показывает, что вы используете Apache, Mysql и PHP. Проблемы могут случиться со всеми. Затем вы показываете большой SQL-запрос. Может проблема в этом, может нет. Насколько велика БД? У вас есть индексы? Вы следите за вещами? Слишком много вопросов... Вероятно, вам следует начать с обращения к людям, отвечающим за приложения PHP, которые вы запускаете на этом сервере, и обсудить с ними.
Michael Hampton avatar
флаг cz
Между MySQL и PHP ваш сервер использует около 100% своего ЦП. Очевидно, это происходит в течение достаточно долгого времени, поскольку MySQL накопил достаточно большое количество времени выполнения. Я думаю, что ваше приложение имеет неоптимизированные или плохо оптимизированные SQL-запросы, которые тормозят систему. Попросите разработчиков приложений просмотреть журнал медленной работы MySQL и разобраться с наихудшими нарушителями.
Wilson Hauck avatar
флаг jp
Запрос дополнительной информации. Любые устройства SSD или NVME на хост-сервере MySQL? Опубликуйте на pastebin.com и поделитесь ссылками. Из вашего корня входа SSH, текстовые результаты: B) ПОКАЗАТЬ ГЛОБАЛЬНЫЙ СТАТУС; минимум через 24 часа UPTIME C) ПОКАЗАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ; D) ПОКАЗАТЬ ПОЛНЫЙ СПИСОК ПРОЦЕССОВ; д) СТАТУС; не ПОКАЗАТЬ СТАТУС, просто СТАТУС; G) ПОКАЗАТЬ СТАТУС INNODB ДВИГАТЕЛЯ; И Необязательная очень полезная информация, если таковая имеется, включает: htop ИЛИ top для наиболее активных приложений, ulimit -a для списка ограничений, iostat -xm 5 3 для IOPS по устройствам, для анализа настройки рабочей нагрузки сервера, чтобы предоставить предложения.
Wilson Hauck avatar
флаг jp
Это долго, но, пожалуйста, отсканируйте весь контент, а затем работайте с EXPLAIN SELECT ....-- https://dev.mysql.com/doc/refman/5.7/en/explain.html - за существенную помощь в поиске причин МЕДЛЕННЫХ запросов. Если вы внимательно прочитаете, вы обнаружите, что ANALYZE TABLE tbl_name; обновит статистику таблицы, и иногда это единственное, что нужно.
Wilson Hauck avatar
флаг jp
@goofball Пожалуйста, опубликуйте свой журнал медленных запросов, который охватывает период с 13:30 до 14:30 в течение двух обычных рабочих дней для анализа, пожалуйста.

Ответить или комментировать

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