Preskoči na vsebino
BeoHosting
BeoHosting
Gostovanje

Kaj je LiteSpeed in zakaj je boljši od Apache

BeoHosting Ekipa··11 min branja branja
Kaj je LiteSpeed in zakaj je boljši od Apache

Uvod v spletne strežnike

Spletni strežnik je programska oprema, ki prejema zahtevke HTTP od brskalnika in vrača spletne strani, slike, CSS, JavaScript in druge vire. Dva najbolj uporabljana spletna strežnika v hosting industriji sta Apache (ki dominira od leta 1995) in LiteSpeed (ki hitro raste od leta 2003). Nginx je tretji veliki igralec, vendar za okolje deljenega gostovanja LiteSpeed ponuja edinstvene prednosti, ki jih ne moreta zagotoviti niti Apache niti Nginx.

V tem članku podrobno primerjamo LiteSpeed in Apache, pojasnjujemo, zakaj je LiteSpeed hitrejši, kako LSCache revolucionira predpomnjenje in zakaj vse več ponudnikov gostovanja prehaja na LiteSpeed.

Apache - veteran, ki kaže svoja leta

Apache HTTP Server je najstarejši in najbolj uporabljan spletni strežnik na svetu. Desetletja je bil standard v hosting industriji in praktično vsak ponudnik gostovanja ga je uporabljal.

Arhitektura Apache-a

Apache uporablja arhitekturo, ki temelji na procesih, z dvema glavnima modeloma MPM (Multi-Processing Module): prefork in worker. Prefork MPM ustvari ločen proces za vsak zahtevek - zanesljiv, a neučinkovit, saj vsak proces porabi 10-25 MB RAM-a. Worker MPM uporablja niti (thread) znotraj procesa, kar je učinkoviteje, a manj združljivo z nekaterimi moduli PHP (mod_php zahteva prefork). V praksi večina hosting strežnikov uporablja prefork MPM z mod_php, kar je najpočasnejša, a najbolj združljiva konfiguracija.

Prednosti Apache-a

Apache ima nekaj prednosti, ki so ga desetletja držale na vrhu: ogromen ekosistem modulov (mod_rewrite, mod_security, mod_ssl, na stotine drugih), podpora za .htaccess za konfiguracijo na ravni imenika brez ponovnega zagona strežnika, ogromna skupnost in dokumentacija, združljivost s praktično vsemi aplikacijami PHP ter dolgoletna stabilnost in preverjenost. Večina dokumentacije in vodnikov za spletno gostovanje predpostavlja strežnik Apache.

Težave Apache-a

Glavna težava Apache-a je zmogljivost pod obremenitvijo. Prefork MPM porablja preveč pomnilnika, saj vsak sočasni zahtevek zahteva ločen proces. Ko imate 200 hkratnih povezav, je to 200 procesov, ki porabijo 2-5 GB RAM-a samo za spletni strežnik. Datoteke .htaccess se berejo ob vsakem zahtevku, kar upočasnjuje V/I (I/O). mod_php naloži interpreter PHP v vsak proces Apache-a, tudi za statične datoteke. Pod konično obremenitvijo (nenaden skok prometa) lahko Apache porabi ves pomnilnik in podre celoten strežnik.

LiteSpeed - sodobna zamenjava

LiteSpeed Web Server (LSWS) je bil razvit posebej kot drop-in zamenjava za Apache z dramatično boljšo zmogljivostjo. Obstaja v dveh različicah: OpenLiteSpeed (brezplačen, odprtokoden) in LiteSpeed Enterprise (komercialen, s polno združljivostjo z Apache-om).

Dogodkovno usmerjena (event-driven) arhitektura

Za razliko od arhitekture Apache-a po načelu en proces na zahtevek LiteSpeed uporablja dogodkovno usmerjeno arhitekturo, kjer lahko en proces hkrati streže tisoče povezav. To je temeljno učinkovitejši pristop, saj zahteva drastično manj pomnilnika in virov CPU. LiteSpeed lahko postreže enako število uporabnikov z 10-krat manj RAM-a v primerjavi z Apache-om. Ta arhitektura je podobna Nginx-u, vendar za razliko od Nginx-a LiteSpeed bere datoteke .htaccess.

Polna združljivost z .htaccess

To je odlika ubijalka (killer feature) LiteSpeed-a, ki ga loči od Nginx-a. LiteSpeed bere in obdeluje datoteke .htaccess enako kot Apache, vključno s pravili mod_rewrite, avtentikacijo, nadzorom dostopa in konfiguracijo PHP. To pomeni, da lahko Apache zamenjate z LiteSpeed-om brez ene same spremembe v konfiguraciji spletnega mesta. Platforma WordPress, Joomla, Magento in vsi drugi sistemi CMS na osnovi PHP delujejo na LiteSpeed-u identično brez prilagajanja. Nginx pa po drugi strani zahteva popolno prepisovanje vseh pravil rewrite v svoj format.

Zaščita anti-DDoS

LiteSpeed ima vgrajeno zaščito pred napadi DDoS, ki samodejno prepozna in blokira nenavadne vzorce prometa. Omejevanje povezav (connection throttling), omejevanje pasovne širine (bandwidth throttling) in omejevanje hitrosti na ravni IP so vgrajeni v strežnik brez potrebe po zunanjih modulih. Apache za podobno funkcionalnost zahteva mod_evasive ali mod_security, ta modula pa vsakemu zahtevku dodata dodatno breme (overhead).

LSCache - revolucija v predpomnjenju

LSCache (LiteSpeed Cache) je najmočnejši vidik ekosistema LiteSpeed. Gre za pogon predpomnjenja na ravni strežnika, ki je vgrajen neposredno v spletni strežnik, s čimer odpravlja dodatno breme, ki ga imajo rešitve predpomnjenja na ravni aplikacije.

Kako LSCache deluje

Tradicionalni vtičniki za predpomnjenje (WP Super Cache, W3 Total Cache) delujejo na ravni PHP - WordPress se mora zagnati, naložiti vtičnike in nato postreči predpomnjeno vsebino. LSCache deluje na ravni strežnika - predpomnjena stran se postreže NEPOSREDNO iz pomnilnika, ne da bi se PHP sploh zagnal. To je kot razlika med odpiranjem konzerve z odpiračem (predpomnjenje PHP) in jemanjem gotove jedi z mize (LSCache). Rezultat je TTFB (Time to First Byte) od 10-50 ms namesto 200-500 ms.

Vtičnik LiteSpeed Cache za WordPress

LiteSpeed Cache for WordPress je brezplačen vtičnik, ki povezuje WordPress s pogonom LSCache na strežniku. Poleg predpomnjenja strani nudi: minifikacijo in združevanje CSS/JS, leno nalaganje (lazy loading) slik, optimizacijo slik (pretvorba v WebP), optimizacijo podatkovne baze, integracijo CDN, generiranje kritičnega CSS, predhodno nalaganje (preload crawling) in ESI (Edge Side Includes) za dinamične bloke na predpomnjenih straneh. En vtičnik nadomesti 4-5 drugih optimizacijskih vtičnikov.

ESI - pametno predpomnjenje

Edge Side Includes je tehnologija, ki omogoča predpomnjenje strani z dinamičnimi bloki. Na primer, celotna stran je predpomnjena, gradnik nakupovalne košarice (shopping cart) pa za vsakega uporabnika prikazuje aktualno število izdelkov. Brez ESI strani s kakršno koli dinamično vsebino (status prijave, košarica, personalizacija) ni mogoče predpomniti. Z ESI se 95 % strani postreže iz predpomnilnika, le majhen dinamičen del pa se generira s PHP.

Rezultati benchmarka

Številke govorijo jasneje od besed. Tukaj so realni rezultati benchmarka iz neodvisnih testov.

Statična vsebina

Za strežbo statičnih datotek (slike, CSS, JS) je LiteSpeed 2-3-krat hitrejši od Apache-a in primerljiv z Nginx-om. Na testu z 10.000 sočasnimi povezavami Apache (prefork) postreže približno 5.000 zahtevkov/sekundo, preden začne izgubljati zmogljivost, medtem ko LiteSpeed postreže 25.000+ zahtevkov/sekundo s stabilnim odzivnim časom. Poraba pomnilnika: Apache porabi 4-5 GB za 10.000 povezav, LiteSpeed porabi 500-800 MB.

Zmogljivost PHP (WordPress)

Za WordPress brez predpomnilnika je LiteSpeed z LSAPI (LiteSpeed Server Application Programming Interface) 50 % hitrejši od Apache-a z mod_php in 20 % hitrejši od Nginx-a s PHP-FPM. LSAPI je upravljavec PHP od LiteSpeed-a, ki je optimiziran za komunikacijo med spletnim strežnikom in PHP, s čimer zmanjšuje dodatno breme preklapljanja konteksta (context switching). Z vključenim LSCache je LiteSpeed 10-100-krat hitrejši, saj predpomnjene strani sploh ne zaganjajo PHP.

Pod obremenitvijo (konični test)

Najbolj dramatična razlika se vidi pod konično obremenitvijo. Ko spletno mesto dobi nenaden skok prometa (viralni članek, TV-reklama, DDoS), Apache hitro porabi vse vire in začne zavračati povezave ali celo podre strežnik. LiteSpeed se gladko degradira (gracefully degrade) - počasneje odgovarja, a nadaljuje z delovanjem. V testu z WordPress spletnim mestom, ki dobi 1.000 hkratnih uporabnikov, Apache vrne napake 503 za 40 % zahtevkov, medtem ko LiteSpeed uspešno postreže 98 % zahtevkov s povprečnim odzivnim časom 1,2 sekunde.

Migracija z Apache-a na LiteSpeed

Ena največjih prednosti LiteSpeed-a je preprostost migracije. Ker bere datoteke .htaccess in podpira module Apache-a, prehod ne zahteva sprememb na spletnem mestu.

Kaj se spremeni

Z vidika uporabnika praktično nič. Vaše spletno mesto, pravila .htaccess, konfiguracija PHP - vse deluje enako. Edina sprememba, ki jo morda opazite, je, da je spletno mesto hitrejše. Ponudnik gostovanja zamenja spletni strežnik na strežniku, vi pa namesto dosedanjega vtičnika za predpomnjenje (W3 Total Cache, WP Super Cache) namestite vtičnik LiteSpeed Cache za WordPress. To je vse.

Morebitne težave

V redkih primerih nekateri triki .htaccess, ki so odvisni od specifičnih modulov Apache-a, morda ne bodo delovali identično. Najpogostejši primer je mod_pagespeed, ki na LiteSpeed-u ne obstaja (vendar LSCache nudi vse iste funkcionalnosti). Nekateri eksotični vzorci mod_rewrite lahko zahtevajo manjšo prilagoditev. Toda za 99 % WordPress spletnih mest je migracija popolnoma transparentna.

OpenLiteSpeed vs LiteSpeed Enterprise

OpenLiteSpeed je brezplačna, odprtokodna različica, ki nudi dogodkovno usmerjeno arhitekturo in LSCache, vendar brez polne združljivosti z .htaccess in nekaterih enterprise funkcionalnosti. LiteSpeed Enterprise je komercialna različica s polno združljivostjo z Apache-om, upravljavcem PHP LSAPI, integracijo WAF in komercialno podporo. Za ponudnike gostovanja je LiteSpeed Enterprise edina izbira, saj uporabniki pričakujejo popolno združljivost z .htaccess.

Zaključek

LiteSpeed je superioren spletni strežnik v primerjavi z Apache-om v vseh relevantnih metrikah: hitrejši je pri strežbi statične in dinamične vsebine, porabi manj pomnilnika, se bolje spopada s konično obremenitvijo, ima vgrajeno zaščito anti-DDoS in nudi najmočnejši pogon predpomnjenja na trgu z LSCache. Vse to ob popolni združljivosti z datotekami .htaccess, kar naredi migracijo nebolečo. Pri BeoHostingu uporabljamo LiteSpeed Enterprise na vseh strežnikih za deljeno gostovanje z brezplačnim LSCache za vse uporabnike, s čimer zagotavljamo zmogljivost, ki je bila prej na voljo samo na dragih virtualnih strežnikih in dedicated rešitvah.

BeoHosting Ekipa

10+ let izkušenj — Strokovnjaki za spletno gostovanje in infrastrukturo

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Zadnja posodobitev: