Багато користувачів вважають, що якщо вони купили VPS сервер, значить технічна підтримка повинна на 100% забезпечити стабільність роботи їх сервера і його сайтів.

Це дійсно так і повинно бути. Кожен користувач бажає придбати сервер, який буде працювати стабільно без збоїв і зломів.

Однак не завжди виходить так як Ви плануєте, так як частою причиною збою сайту або погіршення його працездатності є навантаження на сервері, яке в більшості випадків створюється самим сайтом користувача.

Так як на одному сервері дуже часто розміщується велика кількість клієнтських сайтів, які "ділять" ресурси сервера між собою, при наявності вимогливих до ресурсів сайтів - це може негативно вплинути на роботу окремих сайтів і всього сервера в цілому.

Існує кілька способів створити навантаження на сервері, основними типами створення навантаження є: навантаження на пам'ять, навантаження на процесор і навантаження на сервер баз даних Mysql.

Для початку спробуємо визначити яким чином можна визначити чи існує навантаження на сервері.

У першу чергу в цьому нам допоможе Linux команда top, яка може надати нам повну статистику по процесам, які запущені на сервері і окремо по процесам кожного користувача.

За допомогою top, ми можемо подивитися скільки відсотків пам'яті або процесорного часу використано кожним користувачем в певний момент часу.

Щоб подивитися статистику по окремому користувачеві, досить в консолі сервера набрати top і після цього натиснути комбінацію клавіш Shift + U

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


Якщо нам потрібно подивитися використання пам'яті сервера окремими клієнтами, ми можемо окремо переглянути статистику по пам'яті. Це також можна зробити за допомогою команди top, використовуючи додаткову комбінацію Shift + M.

Для перегляду використання процесорного часу користувачами сервера, досить натиснути Shift + P під час запуску TOP.

Процеси кожного користувача, а також скрипти, які створюють навантаження на сервер можна також проаналізувати використовуючи контрольну панель WHM (якщо вона встановлена на вашому сервері), розділ Daily Process Log.

За допомогою Daily Process Log ми можемо побачити які процеси сайту створюють навантаження на сервер, а також визначити масштаби даного навантаження. 

Крім того, Daily Process Log допоможе нам подивитися навантаження на сервер не тільки для кожного користувача окремо, але і для всіх користувачів по дням тижня (на прикладі можна подивитися статистику потрібного нам сайту за 2 і 3 травня)

Є кілька причин, які можуть стати причиною створення навантаження на процесор.

[Mon May 06 13:11:25 2013] [error] [client 92.112.253.185] (12)Cannot allocate memory: couldn't create child process: /opt/suphp/sbin/suphp for /home/avtdshj/public_html/opencart/index.php, referer: http://www.google.com.ua/url?sa=t&rct=j&q=%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%20%D0%BE%D0%BC%D0%B5%D0%B3%D0%B0%20%D1%86%D0%B5%D0%BD%D0%B0&source=web&cd=8&ved=0CFsQFjAH&url=http%3A%2F%2Fatp.su%2Fopencart%2Findex.php%3Froute%3Dproduct%2Fproduct%26product_id%3D57&ei=AYGHUdusJcfhtQbj2YAw&usg=AFQjCNHfVOxWA1e-dGwKTK0qf06Xbdy73Q&bvm=bv.45960087,d.Yms

Навантаження на процесор може створюватися скриптами, які з яких-небудь причин занадто довго виконуються, що тягне за собою перевищення лімітів, наданих тарифним планом.

У таких випадках на сайті користувача може відображатися помилка Internal Server Error, а в error логах для нього ми побачимо, що перевищено ліміт оперативної пам'яті, виділений тарифним планом для обробки його PHP скриптів.

Приклад лог файлів, коли перевищений ліміт оперативної пам'яті для скриптів сайту:

Іноді навантаження на сервері може створюватися навмисно недоброзичливцями для нанесення шкоди певному сайту або сервера: сюди відносяться DDoS атаки, флуд-атаки (атака, заснована на величезній кількості запитів до конкретної комп'ютерної системи або ж мережевого обладнання), масові спам розсилки і т.д.

Ця відповідь Вам допомогла? 1 Користувачі, які знайшли це корисним (6 Голосів)