Alegerea hosting-ului este una dintre deciziile tehnice cu cel mai mare impact pe termen lung…

Cum să monitorizezi resursele serverului în WHM și să optimizezi performanța
Cum să monitorizați resursele serverului în WHM și să optimizați performanța. Monitorizarea resurselor serverului este esențială pentru menținerea performanței optime și prevenirea problemelor înainte ca acestea să afecteze vizitatorii site-ului.
WHM (Web Host Manager) oferă instrumente puternice pentru analiza consumului de CPU, RAM, bandwidth și identificarea site-urilor sau proceselor care consumă excesiv resurse.
În acest ghid veți învăța să folosiți eficient instrumentele de monitorizare WHM, să identificați rapid problemele de performanță și să implementați soluții pentru optimizarea serverului.
Cuprinsascunde
1. Înțelegerea resurselor serverului și impactul lor
Înainte de a începe monitorizarea, este important să înțelegeți ce reprezintă fiecare resursă și cum afectează performanța site-urilor.
1.1. CPU (Procesor)
CPU-ul execută toate calculele și operațiunile pe server. Un consum ridicat poate indica:
- Scripturi PHP neoptimizate sau bucle infinite
- Atacuri brute-force pe login-uri WordPress/cPanel
- Procese cron job-uri care rulează simultan
- Indexare intensivă de către motoarele de căutare
Praguri normale:
- 0-30%: Utilizare normală
- 30-70%: Utilizare moderată, monitorizare necesară
- 70-100%: Utilizare critică, investigare imediată
1.2. RAM (Memorie)
RAM-ul stochează temporar datele pentru acces rapid. Consumul excesiv poate cauza:
- Swap exesiv (folosirea hard disk-ului ca memorie, mult mai lent)
- Procese terminate forțat de sistem (OOM Killer)
- Încetinirea dramatică a serverului
Praguri normale:
- 0-60%: Utilizare sănătoasă
- 60-80%: Monitorizare atentă
- 80-100%: Risc de instabilitate
1.3. Bandwidth (Trafic rețea)
Bandwidth-ul măsoară volumul de date transferate către și de la server. Consum ridicat poate indica:
- Trafic legitim crescut (campanii marketing reușite)
- Atacuri DDoS
- Hotlinking de imagini/fișiere
- Backup-uri sau migrări de date
1.4. Disk I/O (Input/Output pe disc)
I/O măsoară viteza de citire/scriere pe hard disk. Bottleneck-uri I/O pot încetini dramatic site-urile, chiar dacă CPU și RAM sunt OK.
2.1. Login în WHM
Pentru a accesa WHM, aveți nevoie de credențiale root sau reseller:
- Navighează la https://server-ip:2087 sau https://server-hostname:2087
- Introduceți username (de obicei „root”) și parola
- Click pe „Log in”
Notă de securitate: Nu lăsa sesiunea WHM deschisă fără supraveghere. Logout după finalizarea monitorizării.
2.2. Interfața WHM – Localizarea instrumentelor
Instrumentele de monitorizare se găsesc în sidebar-ul din stânga, categoriile principale fiind:
- Server Status – Pentru monitorizare în timp real
- Server Configuration – Pentru ajustări de performanță
- Security Center – Pentru analiza atacurilor
- Account Information – Pentru consum per cont cPanel
3. Monitorizare CPU și proces în timp real
3.1. Server Status – Apache Status
Acest instrument arată toate conexiunile active Apache și consumul lor:
- Accesați WHM → Server Status → Apache Status
- Analizați tabelul „Scoreboard Key”:
- „_” (underscore) = Worker disponibil (liber)
- „W” = Worker care trimite răspuns
- „R” = Worker care citește request
- „K” = Worker în keepalive
- Scroll la secțiunea „Requests currently being processed”
- Identificați:
- IP-urile cu cele mai multe conexiuni simultane
- URL-urile accesate frecvent
- Timpul de procesare pentru fiecare request (coloana „SS” – seconds since)
Red flags:
- Același IP apare de 20+ ori = posibil bot sau scraper
- Requests cu SS peste 10-15 secunde = scripturi blocate sau lente
- Multe requests spre /wp-login.php sau /xmlrpc.php = atacuri brute-force
3.2. Server Status – Service Status
Verificați starea serviciilor esențiale:
- Accesați WHM → Server Status → Service Status
- Verificați că următoarele servicii sunt „Running” (verde):
- httpd (Apache web server)
- mysql sau mariadb (baza de date)
- exim (email server)
- cpanel (serviciul cPanel)
- sshd (acces SSH)
- Pentru servicii „Down” (roșu), click pe Start Service
Troubleshooting: Dacă un serviciu nu pornește, verifică log-urile în WHM → Service Configuration → Service Manager → View.
3.3. Server Status – Current CPU, Memory, and MySQL Usage
Instrumentul cel mai important pentru monitorizare în timp real:
- Accesați WHM → Server Status → Server Status
- Observă dashboard-ul principal cu:
- Load Average – Medie pe 1, 5, 15 minute (ideal sub numărul de core-uri CPU)
- Memory Used – Procent și valoare absolută
- Swap Used – Ar trebui să fie aproape 0%
- Scroll la secțiunea „Top Process”
- Identificați procesele cu consum ridicat:
- Coloana %CPU – Procesele peste 10-15% necesită atenție
- Coloana %MEM – Procesele peste 5-10% pe shared hosting sunt problematice
- Coloana USER – Arată ce cont cPanel consumă resurse
- Coloana COMMAND – Procesul exact (php, mysql, httpd)
Exemplu de citire:
USER %CPU %MEM COMMAND user123 45.2 8.3 /usr/bin/php /home/user123/public_html/import.php
Interpretare: Contul „user123” rulează un script PHP de import care consumă 45% CPU și 8% RAM – probabil neoptimizat sau procesează volume mari de date.
4. Monitorizare consum per cont cPanel
4.1. Account Information – Show Accounts
Vedeți lista completă a conturilor și consumul lor:
- Accesați WHM → Account Information → List Accounts
- Click pe header-ul coloanei pentru sortare:
- Sortează după Disk Used pentru a identifica conturile cu stocare mare
- Sortează după Domain pentru căutare alfabetică
4.2. Resource Usage – View Resource Usage
Cel mai detaliat raport de consum per cont:
- Accesați WHM → Server Configuration → Tweak Settings
- Căutați „Track cPanel user resource usage” și activează-l (setează la „Yes”)
- Așteaptă 24 ore pentru colectarea datelor
- Accesați WHM → Resources → Resource Usage
Veți vedea grafice detaliate pentru:
- CPU Usage – Consumul mediu și de vârf pe cont
- Physical Memory – RAM folosit efectiv
- Virtual Memory – RAM + Swap
- Concurrent Connections – Număr conexiuni simultane Apache/MySQL
- Processes – Număr procese rulate simultan
Acțiuni pe baza datelor:
- Cont cu CPU constant peste 50%: Contactați clientul pentru optimizare sau upgrade plan
- Memory spikes: Verificați cron jobs și plugin-uri WordPress
- Concurrent connections peste 50: Posibil DDoS sau trafic viral
5. Monitorizare MySQL și optimizare baze de date
5.1. SQL Services – MySQL Process List
Vedeți query-urile MySQL care rulează în acest moment:
- Accesați WHM → SQL Services → MySQL Process List
- Analizați coloana „Time” – query-uri peste 5-10 secunde sunt problematice
- Click pe un proces pentru a vedea query-ul exact
- Pentru procese blocate, click pe Kill pentru terminare
Query-uri problematice comune:
- SELECT fără WHERE – citește întreaga tabelă
- Query-uri pe tabele wp_options sau wp_postmeta fără index
- JOIN-uri pe tabele mari fără optimizare
5.2. SQL Services – Show MySQL Databases
Identificați bazele de date mari care consumă spațiu:
- Accesați WHM → SQL Services → Show MySQL Databases
- Sortează după coloana „Size” pentru a vedea cele mai mari baze
Baze de date suspecte:
- Baza WordPress peste 500MB: Probabil spam în comentarii sau tabele temporare neumflate
- Creștere rapidă în 24-48h: Posibil logging excesiv sau atac
5.3. Optimizare automată MySQL
Activați optimizare săptămânală:
- Accesați WHM → SQL Services → MySQL Upgrade
- Rulați „Repair and Optimize MySQL databases”
- Pentru automatizare, creează cron job în WHM:
- WHM → Server Configuration → Cron Jobs
- Adăugați:
mysqlcheck --all-databases --auto-repair --optimize - Schedulează: Weekly (Duminică 3 AM când traficul e minim)
6. Monitorizare bandwidth și trafic rețea
6.1. Server Status – Bandwidth Usage
- Accesați WHM → Server Status → Bandwidth Usage
- Selectați perioada de analiză (Last 24 hours, Last Month)
- Analizați graficul pentru spikes neobișnuite
- Scroll la tabelul „Top Bandwidth Users” pentru consum per domeniu
Identificare probleme:
- Spike brusc de bandwidth: Verificați log-urile Apache pentru hotlinking
- Creștere constantă: Trafic legitim crescut (bine!) sau bot scraping
- Bandwidth nocturn ridicat: Backup-uri sau crawlere
6.2. Protecție împotriva hotlinking-ului
Hotlinking-ul (alte site-uri linkează direct imaginile dvs.) poate consuma bandwidth excesiv:
- Accesați cPanel pentru contul problemă
- cPanel → Security → Hotlink Protection
- Activați și adaugă extensii de protejat: jpg, jpeg, png, gif, webp
- Adăugați URL-uri permise (domeniul propriu și CDN-ul dacă există)
7. Analiza log-urilor pentru diagnosticare probleme
7.1. Apache Error Log
Identificați erorile PHP și Apache:
- Accesați WHM → Service Configuration → Apache Configuration → Error Log
- Căutați pattern-uri repetitive:
PHP Fatal error– Scripturi cu probleme serioaseFile does not exist– Link-uri rupte (404)Timeout– Scripturi care depășesc timpul limită
Filtrare eficientă:
grep "Fatal error" /usr/local/apache/logs/error_log | tail -50
7.2. MySQL Error Log
- Accesați prin SSH (necesită acces root)
- Rulați:
tail -100 /var/lib/mysql/$(hostname).err - Căutați:
Table is marked as crashed– Tabel corupt, necesită reparareToo many connections– Limita MySQL atinsăDisk full– Spațiu stocare epuizat
7.3. CSF/Firewall Logs
Dacă aveți ConfigServer Security & Firewall (CSF) instalat:
- Accesați WHM → Plugins → ConfigServer Security & Firewall
- Click pe Firewall Deny IPs
- Analizați IP-urile blocate pentru pattern-uri:
- Multiple IP-uri din aceeași țară = posibil atac coordonat
- Blocări pentru „failed login” = brute-force pe cPanel/SSH
8. Setare alerte automate pentru consum excesiv
8.1. cPanel Notifications – Resource Usage Warnings
- Accesați WHM → Server Contacts → Edit System Mail Preferences
- Activați notificările pentru:
- Disk Space – Alertă când spațiul ajunge la 80%
- Load Average – Alertă când load depășește numărul de core-uri
- Service Failures – Notificare când un serviciu cade
- Adăugați adresele de email pentru notificări
8.2. Configurare CloudLinux LVE Limits (dacă disponibil)
CloudLinux permite limitare strictă per cont:
- Accesați WHM → Plugins → LVE Manager
- Selectați pachetul de hosting
- Setați limite:
- SPEED: 100% pentru shared basic, 200% pentru premium
- PMEM: 1GB pentru WordPress, 2GB pentru WooCommerce
- VMEM: 2x PMEM
- EP (Entry Processes): 20 pentru shared, 40 pentru premium
- NPROC: 100
Beneficii: Un cont care consumă excesiv nu va afecta celelalte conturi de pe server.
9. Optimizări la nivel server pentru performanță
9.1. Apache Optimization – MaxClients
Ajustează numărul maxim de conexiuni simultane:
- Accesați WHM → Service Configuration → Apache Configuration → Global Configuration
- Căutați MaxRequestWorkers (sau MaxClients pe versiuni vechi)
- Formula de calcul:
(RAM totală - RAM sistem - RAM MySQL) / RAM per proces Apache - Exemplu pentru server cu 8GB RAM:
- RAM totală: 8GB (8192MB)
- RAM sistem: 1GB (1024MB)
- RAM MySQL: 2GB (2048MB)
- RAM disponibilă Apache: 5120MB
- RAM per proces Apache: ~30MB
- MaxRequestWorkers: 5120 / 30 = 170
Atenție: Setare prea mare poate cauza swap și încetinire. Setare prea mică poate respinge conexiuni legitime.
9.2. MySQL Optimization – Key Buffer Size
- Accesați WHM → SQL Services → MySQL Configuration
- Ajustează parametri cheie:
- key_buffer_size: 25% din RAM pentru servere sub 4GB, 20% pentru servere mai mari
- innodb_buffer_pool_size: 50-70% din RAM dacă folosiți InnoDB
- max_connections: 150-300 pentru shared, 500+ pentru dedicated
- query_cache_size: 64-128MB (doar pentru MySQL 5.7, eliminate în 8.0)
- Click pe Save și restart MySQL
9.3. PHP-FPM Configuration
PHP-FPM este mai eficient decât mod_php tradițional:
- Accesați WHM → MultiPHP Manager
- Verificați că PHP-FPM este activat pentru conturile relevante
- Editează /opt/cpanel/ea-php[versiune]/root/etc/php-fpm.d/www.conf
- Ajustează:
- pm.max_children = 50 (pentru shared)
- pm.start_servers = 5
- pm.min_spare_servers = 5
- pm.max_spare_servers = 35
10. Acțiuni corective pentru consum excesiv de resurse
10.1. Investigare cont problemă
Când identificați un cont care consumă excesiv:
- Login în cPanel pentru acel cont
- Verificați cPanel → Metrics → CPU and Concurrent Connection Usage
- Analizați snapshot-urile de la momentele de consum maxim
- Identificați:
- Script-ul exact care consumă (file path)
- URL-ul accesat
- IP-ul care a declanșat
10.2. Soluții comune pentru WordPress
Problema: Plugin-uri neoptimizate
Soluție:
- Dezactivați plugin-urile unul câte unul și monitorizează CPU
- Plugin-uri problematice frecvente: WP Statistics, Broken Link Checker, Wordfence (scanare live)
- Înlocuiți cu alternative mai ușoare sau configurează-le corect
Problema: Atacuri brute-force pe /wp-login.php
Soluție:
- Instalați plugin Limit Login Attempts Reloaded
- Adăugați captcha pe login (hCaptcha, Google reCAPTCHA)
- Schimbă URL-ul de login cu WPS Hide Login
- Blochează IP-urile atacatoare în CSF firewall
Problema: Cron jobs prea frecvente
Soluție:
- Verificați cPanel → Advanced → Cron Jobs
- Cron-uri la fiecare minut sau 5 minute sunt excesive pentru majoritatea site-urilor
- Ajustează la interval de 1 oră sau zilnic
10.3. Suspendare temporară cont
În cazuri extreme când un cont periclitează stabilitatea serverului:
- Accesați WHM → Account Functions → Suspend an Account
- Selectați contul problematic
- Adăugați motiv: „High resource usage – optimization required”
- Click pe Suspend
- Contactați clientul cu detalii despre problema identificată și pașii necesari
11. Raportare și documentare
11.1. Generare rapoarte periodice
Creați rutină de raportare săptămânală:
- Luni: Verificați Resource Usage pentru top 10 consumatori
- Miercuri: Analizați bandwidth usage și identifică creșteri anormale
- Vineri: Revizuiește Service Status și verifică uptime
11.2. Documentare incidente
Pentru fiecare problemă de performanță documentează:
- Data și ora incidentului
- Metrica afectată (CPU/RAM/bandwidth)
- Contul cPanel responsabil
- Cauza root (script, plugin, atac)
- Acțiunea luată
- Rezultatul (rezolvat, escaladat, etc.)
12. Instrumente externe pentru monitorizare avansată
12.1. Uptimerobot.com
Monitorizare gratuită uptime din exterior:
- Verificați disponibilitatea site-urilor la fiecare 5 minute
- Alerte email/SMS la downtime
- Rapoarte lunare uptime pentru clienți
12.2. New Relic sau Datadog
Pentru servere dedicate cu bugete mai mari:
- Monitorizare în timp real a tuturor metrică
- Alerting avansat cu praguri customizabile
- Istoricizare pe termen lung pentru trend analysis
- Integrări cu Slack, PagerDuty, etc.
13. Best practices pentru menținerea performanței
- Verificați Server Status zilnic, chiar și 5 minute
- Setați alerte automate pentru toate metricile critice
- Documentați toate incidentele pentru identificare pattern-uri
- Comunică proactiv cu clienții înainte de suspendare
- Implementează limite CloudLinux/cgroups pentru izolare
- Upgrade hardware când utilizarea medie depășește 70% constant
- Mențineți MySQL optimizat prin cron jobs săptămânale
- Revizuiește și actualizează configurările Apache/PHP trimestrial
- Formează echipa pe procesele de troubleshooting
- Păstrați backup-uri regulate înainte de orice schimbare majoră
Concluzie
Monitorizarea eficientă a resurselor în WHM nu este doar despre identificarea problemelor, ci despre prevenirea lor. Prin verificări regulate, configurări optimizate și alerte automate, puteți menține serverul stabil, rapid și profitabil.
Pașii esențiali de reținut:
- Monitorizați zilnic Server Status și Top Processes
- Revizuiește săptămânal Resource Usage per cont
- Optimizați lunar bazele de date MySQL
- Ajustează configurările Apache/PHP/MySQL trimestrial
- Documentați toate incidentele pentru învățare continuă
Cu instrumentele și tehnicile din acest ghid, veți putea gestiona eficient chiar și servere cu sute de conturi cPanel, menținând performanța optimă și clienții mulțumiți.
Aveți nevoie de ajutor cu configurarea WHM sau optimizare server? Contactează-ne la 0754 308 781 sau prin email la contact@seodr.ro pentru consultanță specializată.
Surse
Afirmațiile din acest articol se sprijină pe documentația oficială de mai jos. Verificați sursele direct, fiindcă recomandările motoarelor de căutare se schimbă.
- Documentația WHM, docs.cpanel.net
- Documentația cPanel, docs.cpanel.net
- Time to First Byte (TTFB), web.dev
Despre autor
Dorel Tănase este specialist în optimizarea site-urilor pentru motoarele de căutare. Lucrează în online din 1997 și în SEO din 2007, iar activitatea se desfășoară prin GO SEO MARKETING S.R.L. din Alba Iulia. Se ocupă de audit tehnic, arhitectura site-urilor, conținut și construirea legăturilor.

