WordPress, Joomla – Analiza opterećenja na serveru!

Mnogi od nas su imali prilike da čuju priče ljudi o tome kako su im shared hosting nalozi suspendovani zbog prevelikog opterećenja CPU-a i RAM-a. Nažalost većina ljudi koja želi da razvija neki portal i blog, nije toliko upućena u ovu problematiku, tj. poznaju samo dva pojma: “space” i “bandwidth”. Dinamični sistemi poput WordPress-a i Joomla-e opterećuju i ostale serverske servise. Naravno svemu tome je presudan i broj poseta vašeg portala/foruma, konfiguracija servera, broj klijenata na serveru i ostalo. Presudne stvari za suspendovanje su: veliko opterećenje procesora (CPU usage), opterećenja memorije (RAM usage), opterećenje MySQL servisa (MySQL usage). Da bi ste razumeli sam koren problema morate razumeti termin shared hosting“. Ova vrsta hosting usluge je jeftina i pristupačna, ali server delite sa većim brojem ljudi. Što znači da su vam dozvoljeni resursi vrlo ograničeni. Ukoliko bi vaša skripta opteretila resurse, tj. ukoliko bi vaš nalog postao “problematičan”, hosting provajder bi bio prinuđen da vas suspenduje, jer bi u suprotnom vaš sajt direktno uticao na rad ostalih sajtova na serveru, a pritom bi se uvećavao i odziv servera. Mnogi koji dođu u ovu situaciju, bivaju prinuđeni da pređu na bolje hosting rešenje, tj. na sopstveni server. Postoje dve vrste servera VPS i Dedicated. VPS (Virtual Private Server) je virtualni server, tj. jedan dedicated server delite sa svega nekoliko ljudi, ovi serveri imaju još jednu skraćenicu VDS (Virtual Dedicated Server). Dedicated server je cela “mašina”, koja vam omogućava da iskoristite sve njegove resurse, domaći hosting provajderi dedicated servere nude pod nazivom “Namenski serveri“. Kod obe vrste servera dobra stvar je što vam je provajder odredio resurse (Space, Bandwidth, CPU, RAM), što znači znate koliko možete da potrošite i sve to možete pratiti preko određenih monitoring sistema. Ukoliko pređete dozvoljene resurse, bićete u mogućnosti da lako pređete na “jaču” konfiguraciju, bez suspendovanja vašeg sajta. Analiza je rađena prema ideji koja je potekla od Miloša Petrovića, gde je na njegovom blogu u istraživanju učestvovalo dvoje ljudi, Nemanja Avramović i Branislav Maksin, uključujući i mene sa tekstom koji čitate. Cilj ovih tekstova je da sagledaju Joomla CMS  i WordPress sa tehničko serverske strane, koja svakako mora biti uzeta u obzir pri odabiru CMS rešenja.

Joomla CMS - Statistika potražnje

Joomla CMS – Statistika potražnje

WordPress - Statistika potražnje

WordPress – Statistika potražnje

Naravno poređenje je vršeno između dva sajta skoro slična sa brojem poseta. Jedan je strani (WordPress), a drugi je domaći sajt (Joomla). Informacije ovih sajtova neću otkrivati jer se radi o tuđim sajtovima, koji su samo hostovani na mojim serverima. Ova dva sajta su hostovana na različitim VPS serverima, totalno iste serverske konfiguracije.

CPU:
Processor #1 Vendor: GenuineIntel
Processor #1 Name: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
Processor #1 speed: 2399.425 MHz
Processor #1 cache size: 4096 KB

Processor #2 Vendor: GenuineIntel
Processor #2 Name: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
Processor #2 speed: 2399.425 MHz
Processor #2 cache size: 4096 KB

RAM:
768 MM

Posle analize potrošnje resursa ova dva sajta, grafikon izgleda ovako:

Statistika potrošnje resursa

Statistika potrošnje resursa

Kao što se može videti statistika za WordPress je obeležana tamno plavom linijom, a statistika Joomla CMS-a svetlo plavom linijom. Za upoređivanje uzeta su tri glavna činioca: CPU zauzeće, RAM zauzeće i MySQL statistika Query-a. Naravno sve je izraženo u procentima.

  • Zauzeće resursa za WordPress (tačne vrednosti):  CPU – 1.85%, RAM – 3,20 %, MySQL queries – 3.52 % .
  • Zauzeće resursa za Joomla CMS (tačne vrednosti): CPU – 4.05 %,RAM – 7,30 %, MySQL queries – 1.85 %.

Razlika poseta između ova dva sajta nije previše velika, tako da je statistika merodavna.

Statistika poseta

Statistika poseta

  • WordPress (blog) statistika poseta: ~3.600/dnevno.
  • Joomla CMS (portal) statistika poseta: ~3000/dnevno.

Na osnovu dobijene analize definitino možemo zaključiti da je WordPress daleko više optimizovana skripta za razliku od Joomla CMS skripte. Naravno ovi rezultati nisu toliko “problematični” za jedan iole pristojan VPS server. Što se tiče preporuke koju bi skriptu trebalo koristiti, samo zaključite. Ako ste primorani da koristite shared hosting rešenje, daleko je bolje koristiti WordPress, tj. ukoliko očekujete veći broj poseta. Naravno moja preporuka je WordPress, zbog problema sa MySQL upitima koje Joomla CMS ima.

Ostale stavke ove analize možete pročitati na Miloševom blogu.