Знайти проблемне місце на сайті, що спонукає вантажити всю систему досить непросто. Однак це не говорить про те, що це не можливо, цілком можливо, і ми в даному посту як раз розглянемо одну з подібних ситуацій.
Отже, ми знаємо, що система висить, і вантажить її процес httpd. Цей процес породжують скрипти, які викликаються на сайті. Наше завдання визначити вузьке місце на сайті, те, що вантажить сервер, і усунути його відповідно.
В Apache є спеціальні модулі, які допоможуть нам у цій справі, вони іменуються як status_module і info_module. Для їх використання потрібно переконатися, що вони включені в конфігурацію сервера Apache. За замовчуванням вони включені, так що, швидше за все вам не доведеться займатися їх установкою.

Відкриваємо файл конфігурації веб-сервера, у мене система CentOS Linux, і файл конфігурації розташований тут:

/etc/httpd/conf/httpd.conf

Переконуємося, що модулі підключені, знаходимо такі рядки:

LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so

Після цього, після рядка DocumentRoot, вписуємо налаштування, щоб з’явилася можливість моніторингу навантаження через браузер.

ExtendedStatus On
SetHandler server-status
Order Deny,Allow
Deny from all
# IP адреси, які можуть переглядати дані
Allow from 127.0.0.1
Allow from 192.168.0.189

Рядок Location /server-status вказує шлях, по якому буде доступна статистика, тут варто вказати свій шлях, з міркувань безпеки. Так само важливий момент це IP адреси, для яких буде доступна статистика. До цих параметрами теж слід поставитися з увагою, щоб статистика не опинилася у відкритому доступі.

Після внесення змін у файлі конфігурації, потрібно перезапустити сам сервера httpd. Після цього можна спробувати відкрити сторінку зі статистикою, вона буде доступна за адресою:

http://ваш_сайт/sever-status/

Варто звернути увагу на те, що якщо у вас є файл .htaccess в якому прописані правила перенаправлення, то він може перекривати доступ до /server-status. Для цього вам також буде необхідно виключити шлях до статистики.

Після відкриття статистики бачимо сторінку, яка починається з рядків «Apache Server Status for». Нижче буде таблиця, в якій нас будуть цікавити процеси вантажачі систему. По колонці CPU можна визначити проблемні процеси. Прибираються проблемні процеси за PID (ідентифікатор процесу), до таблиці так само відзначена ця колонка.

Прибираємо проблемний процес, за допомогою консолі:

# kill -s 1911

Після того як ви визначили URL, який вантажить сервер, далі вам належить самостійно з’ясувати і усунути причини надмірного навантаження на процесор вже коду вашого сайту. Ви можете також скористатися іншими хорошими інструментами, такими як Munin, досить хороша річ для моніторингу сервера. Буває і досить часто підвисли процеси в MySQL, що теж не дуже позначається на роботі сайту, для цих цілей ви можете скористатися утилітою Mytop.

Додав: htmaker, 25.09.2016 р.
(1 голосів, середній: 5,00 з 5)

Завантаження…

Діліться з друзями:

См. також:


Детальніше про логах в Apache
Рубрика: Apache

Ротація логів в Linux
Рубрика: Apache, Linux

Denwer в локальній мережі
Рубрика: Apache, Інструменти

HTTP авторизація
Рубрика: Apache, Інф. безпека

Перегляд списку завантажених модулів Apache
Рубрика: Apache, Linux

Тестування сайту під навантаженням
Рубрика: Apache, Інструменти

Як створити SSL сертифікат на Apache для CentOS 6?
Рубрика: Apache, Linux

Заборона на пряме скачування файлів
Рубрика: Apache

Як зробити перенаправлення з допомогою .htaccess?
Рубрика: Apache