Spletno mesto je počasno – kaj pa zdaj? Preden odprete nadzorne plošče Grafana, odprite SSH in 5 orodij CLI vam bo povedalo, kje je ozko grlo. To je vodnik za odpravljanje težav s strežnikom v realnem času brez zapletene nastavitve.
top / htop — kaj porablja procesor in RAM
top je priložen vsakemu Linuxu. htop je prijaznejša različica z barvami in pomikanjem.
htopKaj gledati:
- Povprečna obremenitev (zgoraj desno): 1,5 pomeni, da je eno jedro zasedeno 50 %. Če ima procesor 4 jedra → obremenitev 4,0 = polna. Obremenitev > jeder = ozko grlo.
- Stolpci procesorja : kateri proces porablja kolikšen odstotek. Razvrsti po % procesorja (F6 → PERCENT_CPU).
- RAM : če swap raste, prihaja kriza OOM. WP/Laravel aplikacije, ki ovirajo MySQL ali PHP-FPM delavce.
- Drevo procesov (F5): ogled odnosov starš-otrok, prepoznavanje otrok PHP-FPM, niti MariaDB.
Tipična težava z WP-jem
20+ procesov php-fpm pri 100 % obremenitvi CPU-ja → napad bota ali počasen vtičnik, ki blokira delavce. Preverite access_log za sumljive IP-je.
iotop — kaj požre diskovni V/I
iotop -ao -a = kumulativno, -o = samo aktivni procesi.
Kaj gledati:
- BRANJE NA DISK / PISANJE NA DISK na proces.
- MySQL piše 50MB/s v začasno tabelo → slaba poizvedba, manjka indeks.
- PHP-FPM, ki veliko bere: datoteke sej, datoteke dnevnika.
iftop — kaj požira omrežje
iftop -i eth0Kaj gledati:
- Odhodni promet po destinaciji – DDoS, strgalo, spletno mesto, ki straši zunanji API.
- Dohodni promet po viru – sumljivi IP-ji (Cloudflare, če ga uporabljate, pravi IP-ji, če ga ne uporabljate).
mytop / mysqltop — kaj počne MySQL
mytop -u root -pNadzorna plošča MySQL v realnem času:
- Aktivne povezave – koliko uporabnikov je trenutno povezanih.
- Najpogostejše poizvedbe – katere poizvedbe se izvajajo in koliko časa trajajo.
- Mirujoče povezave – veliko število = puščanje nabora povezav.
- Počasne poizvedbe – štetje.
Pritisnite e + ID za ogled celotnega SQL-a trenutne poizvedbe. k + ID za uničenje, če se blokira.
Dnevnik počasnih poizvedb MySQL
Najboljše dolgoročno orodje za optimizacijo poizvedb. Omogočite v my.cnf :
[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 2 log_queries_not_using_indexes = 1Ponovno zaženite MariaDB. Analizirajte jutri:
mysqldumpslow -st -t 10 /var/log/mysql/slow.log 10 najpočasnejših poizvedb, razvrščenih po času. -sc razvršča po številu (najpogostejše).
Boljše orodje: pt-query-digest iz kompleta orodij Percona.
RAZLAGA — analiziraj počasno poizvedbo
Ko najdete počasno poizvedbo, vam bo MySQL povedal, zakaj:
EXPLAIN SELECT * FROM wp_posts WHERE post_status = 'publish' AND post_type = 'product' ORDER BY post_date DESC LIMIT 20;Kaj gledati:
- tip :
ALL= pregled celotne tabele, zelo počasno.refalirange= uporaba indeksa.const= iskanje primarnega ključa. - vrstice : koliko vrstic mora pogledati. <1000 v redu, >100k rdeče.
- Dodatno :
Using filesortinUsing temporaryje slaba – potrebujete indeks v stolpcu ORDER BY.
ss / netstat — katere povezave
ss -tunap || head -20 ss -tuln # listening ports ss -s # summaryKaj gledati:
- ESTABLISHED count – koliko aktivnih povezav.
- TIME_WAIT — preveč pomeni hitro odpiranje/zapiranje povezave (puščanje bazena).
- Povezave z zunanjimi IP-ji – kaj aplikacija pošlje.
df / du — prostor na disku
df -h # po file systemu du -sh /home/USER/* # po direktoriju du -sh /home/USER/public_html/wp-content/uploadsFilter za največje mape:
du -h /home/USER || sort -hr || head -20vmstat — povzetek sistema
vmstat 1 10Posnetek vsako sekundo, 10 sekund. Stolpci:
- r — procesi, ki čakajo na CPU. >jedra = preobremenjena.
- b — procesi, blokirani pri V/I.
- swap si/so — menjava dejavnosti. Vsaka številka > 0 trajno = potrebuje več RAM-a.
- cpu wa — čakanje na V/I. >20% = disk je ozko grlo.
rep / večrep — datoteke dnevnika v realnem času
tail -f /var/log/nginx/error.log tail -f /home/USER/logs/error_log multitail /var/log/nginx/error.log /var/log/nginx/access.logjournalctl — dnevniki sistemskega strežnika
journalctl -u mysql -n 100 journalctl -u php-fpm --since '10 minutes ago' journalctl -p err -n 50Orodja, specifična za cPanel
- WHM → Stanje strežnika — pregled nalaganja.
- WHM → Poraba procesorja in sočasne povezave – statistika glede na račun.
- CloudLinux LVE Manager – preverite, kateri račun je dosegel omejitev LVE (CPU, IO, EP).
- Uporaba virov cPanel (stranka si jo lahko ogleda v svoji plošči) – graf uporabe.
Specifično za LiteSpeed
/usr/local/lsws/bin/lswsctrl status tail -f /usr/local/lsws/logs/error.logLiteSpeed WebAdmin (privzeta vrata 7080) ima svojo nadzorno ploščo v realnem času.
Vzorec: spletna stran počasna – kaj najprej preveriti
- htop → CPU? OKVIR? Kateri proces?
- iotop → uničenje diska?
- mytop / mysqltop → počasna poizvedba?
- nginx error.log → 502/504, časovna omejitev za upstream?
- tail access.log → napad bota? Povečan promet?
- df -h → disk poln (prepreči pisanje)?
V večini primerov eden od teh 6 korakov razkrije temeljni vzrok v 5 minutah.
Samodejna opozorila
Ne čakajte na klic stranke. Nastavite opozorila:
- Obremenitev > jeder × 2 – opozorilo.
- RAM > 90 % – opozorilo.
- Disk > 85 % – opozorilo.
- Povezave MySQL > 80 % maks. – opozorilo.
- Stopnja napak 5xx > 1 % – opozorilo.
Orodja: Netdata, Prometheus + Alertmanager, Datadog, vgrajena obvestila cPanel.
WMD in spremljanje strežnikov
Vsi VPS-ji in namenski strežniki, ki jih upravlja WMD, imajo 24/7 spremljanje z avtomatiziranimi opozorili za prekoračitve pragov. Ekipa za super hitro podporo opazi alarm, še preden stranka prijavi težavo. Za stranke z lastnimi strežniki nastavimo Netdata (namestitev v eni vrstici) + pravila za opozorila po meri. Za podjetja — Grafana + Prometheus stack z dolgoročnim shranjevanjem. Počasno beleženje poizvedb omogočeno na vsaki MariaDB, tedenska analiza pt-query-digest je vključena v načrt vzdrževanja Pro.
Pogosta vprašanja
htop ali glances? htop za standardno. Glances, če želite vse v enem (CPU + RAM + disk + omrežje + opozorila v enem pogledu). Oboje je brezplačno.
Ali lahko uporabljam htop na deljenem gostovanju? Ne, če nimate SSH. Tam je cPanel "Poraba virov" vaš edini pogled.
Ali počasno beleženje poizvedb upočasni strežnik? Minimalno (1–2 % režijske obremenitve z izklopljeno možnostjo log_queries_not_using_indexes). Velja za dolgoročno optimizacijo delovanja.
Kaj pa, če ne morem prepoznati počasne poizvedbe? Omogoči splošni dnevnik poizvedb (kratek, en dan) + pt-query-digest. Oglej si vse poizvedbe, ne le počasnih.
Kako pogosto naj bi izvajali počasen pregled poizvedb? Tedensko za aktivno spletno mesto, mesečno za stabilno.
Potrebujete pomoč pri preiskavi delovanja strežnika? WMD Super fast podpora odpravlja težave v živo – deljenje zaslona na vrhu, analiza počasnih poizvedb, priporočila za popravke. Pišite nam prek kontaktnega obrazca .