Знайти проблемне місце на сайті, що спонукає вантажити всю систему досить непросто. Однак це не говорить про те, що це не можливо, цілком можливо, і ми в даному посту як раз розглянемо одну з подібних ситуацій.
Отже, ми знаємо, що система висить, і вантажить її процес 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