Оптимизация и диагностика WordPress + WooCommerce: Trace-тесты для выявления слабых мест

Рубрики:VDS
Автор: Пряхин Станислав
Время прочтения: мин
Комментариев: нет
27.02.2025

Чтобы выявить слабые места WordPress + WooCommerce, можно использовать trace-тесты для диагностики производительности PHP, MySQL, Nginx, и Redis/Memcached.

🔹 1. Включаем PHP Slow Log (замедленные запросы)

Позволяет отследить долгие PHP-скрипты, которые могут вызывать задержки.

1️⃣ Открываем конфиг PHP-FPM:

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

2️⃣ Добавляем (или редактируем) строки:

slowlog = /var/www/html/slow.log
request_slowlog_timeout = 2s

🔹 Что это делает?

  • Все запросы, дольше 2 секунд, будут логироваться в /var/www/html/slow.log.

3️⃣ Перезапускаем PHP-FPM:

sudo systemctl restart php8.1-fpm

🔹 2. Включаем MySQL Slow Query Log

Позволяет выявить медленные SQL-запросы.

1️⃣ Открываем конфиг MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

2️⃣ Добавляем:

slow_query_log = 1
slow_query_log_file = /var/www/html/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = 1

🔹 Что это делает?

  • Логирует запросы дольше 2 секунд.
  • Показывает запросы без индексов.

3️⃣ Перезапускаем MySQL:

sudo systemctl restart mysql

🔹 3. Включаем трассировку запросов Redis

Если используешь Redis для кеша, можно отследить медленные запросы.

1️⃣ Открываем конфиг Redis:

sudo nano /etc/redis/redis.conf

2️⃣ Добавляем:

slowlog-log-slower-than 1000
slowlog-max-len 128

🔹 Что это делает?

  • Логирует запросы дольше 1 мс.
  • Хранит 128 последних медленных запросов.

3️⃣ Перезапускаем Redis:

sudo systemctl restart redis

4️⃣ Просмотр логов:

redis-cli SLOWLOG GET 10

🔹 4. Включаем логирование ошибок Nginx

Если 502, 504 или долгие запросы, их можно отследить.

1️⃣ Открываем конфиг сайта Nginx:

sudo nano /etc/nginx/sites-available/default

2️⃣ Добавляем:

error_log /var/www/html/nginx-error.log warn;
log_format trace '$request_time $remote_addr $request';
access_log /var/www/html/nginx-trace.log trace;

3️⃣ Перезапускаем Nginx:

sudo systemctl restart nginx

🔹 Теперь в /var/www/html/nginx-trace.log будут записываться медленные запросы.


🔹 5. Запускаем strace для PHP-FPM (глубокий анализ)

Если сервер все равно подвисает, можно посмотреть системные вызовы PHP.

1️⃣ Узнаем PID PHP-FPM:

pgrep php-fpm

2️⃣ Запускаем strace:

sudo strace -p <PID> -o /var/www/html/php-strace.log

🔹 Это запишет все системные вызовы PHP-FPM в /var/www/html/php-strace.log.


✅ Вывод

Теперь у тебя полный мониторинг слабых мест в WordPress + WooCommerce:

  1. PHP-FPM Slow Log/var/www/html/slow.log
  2. MySQL Slow Query Log/var/www/html/mysql-slow.log
  3. Redis Slow Logredis-cli SLOWLOG GET 10
  4. Nginx Request Trace/var/www/html/nginx-trace.log
  5. strace для PHP-FPM/var/www/html/php-strace.log

🚀 После тестов проанализируй логи и исправь медленные скрипты, SQL-запросы и кеширование! 🔥

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Другие статьи

Рубрики: VDS
12.02.2025
Автор: Пряхин Станислав
WebCreative Studio Logo
Создание сайтов в Донецке
Спасибо! Ваша заявка получена. Мы дадим обратную связь в ближайшее время.