Kako se cron in SSH štejeta v omejitve virov?

CloudLinux Branje: 2 min

CloudLinux vsakemu računu gostovanja dodeli skupen okvir virov (LVE). V tem okviru teče vse, kar spada k računu: zahteve PHP spletne strani, opravila cron, ukazi, zagnani prek SSH ali v terminalu cPanela, ter aplikacije Node.js in Python. Omejitve tvojega paketa najdeš v članku, ki predstavlja omejitve virov paketov gostovanja.

Kaj to pomeni v praksi?

Opravila cron in seje SSH živijo iz istih virov kot spletna stran:

  • CPU, pomnilnik, IO: če opravilo cron (na primer uvoz, spreminjanje velikosti slik ali varnostno kopiranje) porablja celoten procesorski ali diskovni okvir računa, se spletna stran medtem odziva počasneje.
  • Hkratne povezave (EP): vsako tekoče opravilo cron in vsaka seja SSH zasede eno mesto v okviru hkratnih povezav. Če hkrati teče veliko opravil cron, ostane manj mest za obiskovalce in lahko pride tudi do napake 508.
  • Število procesov (NPROC): v procesni okvir računa se štejejo tudi procesi opravil cron in programov, zagnanih prek SSH.

Tudi procesi, zagnani z ukazom nice ali ionice, ostanejo v okviru računa, ta ukaza ne dajeta dodatnih virov.

Tipične težave

  • Prekrivajoča se opravila cron: če opravilo, ki se zažene vsako minuto, teče dlje kot minuto, se naslednji primerek zažene, preden se prejšnji konča. V nekaj minutah hkrati teče več deset primerkov in račun doseže svoje omejitve.
  • Zahtevna opravila v času konic: velik uvoz ali varnostno kopiranje čez dan upočasni spletno stran ravno takrat, ko je na njej največ obiskovalcev.
  • Vgrajeni cron WordPressa: wp-cron.php se zažene ob obiskih, zato opravila v ozadju tečejo skupaj z zahtevami obiskovalcev.

Dobre prakse

  1. Zahtevna opravila načrtuj ponoči, v času brez prometa. Nastavitev opravil cron opisuje članek o ustvarjanju opravila cron v cPanelu, obliko časovnega načrta pa članek o sintaksi crontab.
  2. Opravil ne zaganjaj po nepotrebnem pogosto. Če zadošča zagon vsako uro, ga ne nastavi na vsako minuto.
  3. Prepreči prekrivanje. Ukaz flock poskrbi, da hkrati teče le en primerek opravila. Če prejšnji še teče, se novi sploh ne zažene:

    flock -n $HOME/.cron-import.lock php $HOME/scripts/import.php
    
  4. Cron WordPressa zamenjaj s pravim opravilom cron, glej: Kako vgrajeni cron WordPressa zamenjamo z načrtovanimi opravili cPanela?
  5. Zapri neuporabljene seje SSH in ne puščaj programov, ki tečejo v ozadju.
  6. Velika opravila razdeli na dele. Uvoz več tisoč elementov v manjših delih, zagnanih zaporedoma, manj obremeni račun.

Ali omejitve dosega opravilo cron, lahko preveriš na strani Poraba virov v cPanelu. Če se napake vedno pojavijo ob istem času ali je na zavihku Snapshot viden ukaz opravila cron, je krivo opravilo. Glej: Kaj pomenijo števci napak (faults) na strani Poraba virov?

Nazaj: CloudLinux – članki (16)