Как узнать какой модуль или запрос грузит сервер?
Mariadb 10.6, drupal 10.2, php 8.1 .
Указал в конфиге лог для медленных запросов но сервер туда ничего не пишет.
Идет большая нагрузка ядер процессора у mariadb
Главные вкладки
Лучший ответ
решил вопрос. посмотрел какие запросы часто грузят процессор . в моем случае паразитивный sql count *. внедрил в апи друпала в /var/www/drupal11/web/core/lib/Drupal/Core/Database/Query/select.php
в public function countQuery()
временно следующий код:
ob_start();
echo "jura0\n";
debug_print_backtrace();
$contents = ob_get_contents();
file_put_contents($file, $contents,FILE_APPEND);
ob_end_clean();
он записал имя всех программ которые запускают sql count.
оказалось перегружают обыкновенный views даже если из кэша. также выяснилось что 3 contrib модуля shield, redirect after login и редко tvi участвуют в этом безобразии.
по итогу буду ставить обратный прокси nginx для того чтобы сохранял готовы страницы например в течении часа, а не запускал их генерацию каждый раз. должна увеличиться скорость и уменьшиться стоимость (за счет уменьшения ядер) хостинга.
Комментарии
Ну во-первых, надо наверное почитать документацию о логе медленных запросов, установить нужный лимит на длительность запроса и.т.п.
Также в realtime можно посмотреть что происходит в mysql/mariadb с помощью утилиты mytop.
ваши советы помогли, спасибо. mytop это вещь. вот только определить кто генерит эти запросы это проблема. наверно надо отлаживать друпал целиком.
решил вопрос. посмотрел какие запросы часто грузят процессор . в моем случае паразитивный sql count *. внедрил в апи друпала в /var/www/drupal11/web/core/lib/Drupal/Core/Database/Query/select.php
в public function countQuery()
временно следующий код:
ob_start();
echo "jura0\n";
debug_print_backtrace();
$contents = ob_get_contents();
file_put_contents($file, $contents,FILE_APPEND);
ob_end_clean();
он записал имя всех программ которые запускают sql count.
оказалось перегружают обыкновенный views даже если из кэша. также выяснилось что 3 contrib модуля shield, redirect after login и редко tvi участвуют в этом безобразии.
по итогу буду ставить обратный прокси nginx для того чтобы сохранял готовы страницы например в течении часа, а не запускал их генерацию каждый раз. должна увеличиться скорость и уменьшиться стоимость (за счет уменьшения ядер) хостинга.