Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Doctrine, Codeigniter, Memory usage

[es] :: PHP :: Doctrine, Codeigniter, Memory usage

[ Pregleda: 2685 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.rs.



+3 Profil

icon Doctrine, Codeigniter, Memory usage24.09.2010. u 11:03 - pre 165 meseci
Poceo sam da primenjujem Doctrine ORM i ne svidja mi se koliko memorije trosi. Codeigniter sam oko megabajt i po, kada se ukljuci doctrine dize se na oko 5 MB. Izvrsen je samo jedan upit koji dohvata 1 element (hidrirano u array) iz tabele sa 2 elementa. Iskljucen je autoloading modela i ukljucen lazy loading.

Cini mi se da je 5MB mnogo za jedan jeftini shared hosting i broj poseta sajtu od oko 2000 dnevno. Ne znam da li da se uopste upustam dalje u koriscenje doctrine-a, posto uglavnom radim sajtove koji se hostuju na ovaj nacin.

Koliko smatrate da je OK potrosnja memorije za stranicu na shared hostingu koja izvrsava 4-5 uglavnom jednostavnih i lakih sql upita?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Doctrine, Codeigniter, Memory usage24.09.2010. u 11:13 - pre 165 meseci
A zašto si se uopšte odlučio za "tešku artiljeriju" kao što je Doctrine, ako se sve vrti oko tih 4-5 jednostavnih upita? Ako nemaš neki dobar razlog za implementaciju ORM-a, onda je najpametnije da se vratiš standardnim SQL upitima, ili CodeIgniter-ovom DAL-u, pošto si spomenuo da je tvoj projekat zasnovan upravo na tom framework-u.
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.rs.



+3 Profil

icon Re: Doctrine, Codeigniter, Memory usage24.09.2010. u 11:30 - pre 165 meseci
Imam jednostavne upite ali ih ima mnogo razlicitih (tih 4-5 koje sam naveo se izvrsava po jednom zahtevu, ali ima mnogo razlicitih stranica - zahteva). Imam u bazi oko 30 tabela na ovom projektu i predugo bi mi trajalo kodiranje CRUD-a za sve te entitete. Dakle nije kompleksnost upita problem, problem je gomila veza izmedju tabela.

Kod CI-jevog DAL-a mi se ne svidja losa obrada izuzetaka. Imam svoje klase koje mi bolje rade posao, a svakako, meni bi trebao ORM a ne samo DAl...

Znaci ili da prihvatim tih 5MB po zahtevu, ili kodiranje do smrti :)

Dakle interesuje me da li je tih 5MB overkill za jeftin host? Do sada nikad nisam prelazio 2MB...
 
Odgovor na temu

Mister_rap
SE at Viacom

Član broj: 8822
Poruke: 2540
*.dynamic.sbb.rs.

Jabber: mister_rap@jabber.com


+21 Profil

icon Re: Doctrine, Codeigniter, Memory usage24.09.2010. u 12:44 - pre 165 meseci
Ja sam vec vise puta rekao, da ako covjek razvija nesto robustno da o resursima onda ne bi trebao da brine...

Uglavnom danas tih 5MB nije neka cifra, ali boze moj, kapiram problem...
Sto se tice jeftinih sheared hostinga neces imati problema sve dok nemas neki traffic, ako budes imao vise saobracaja vrlo vjerovatno da ce te suspendovati jer u principu daju max 256MB memorije po akauntu ali mislim da je realno taj broj znacajno manji...
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.rs.



+3 Profil

icon Re: Doctrine, Codeigniter, Memory usage24.09.2010. u 12:56 - pre 165 meseci
razmisljao sam i dolazim do toga da je verovatno najbolje ipak uraditi sa Doctrine-om, ali maksimalno iskoristiti kesiranje stranica, te bi se baza koristila bar 10x manje.

To mi unosi malo problema za odredjene sekcije sajta koje moraju biti uvek dinamicke (nikako se ne smeju pozivati iz kesa), ali to se da resiti ajaksom... Pocinje da mirise na budzenje a to mi se ne svidja..

Al opet, stara dobra: koliko para toliko muzike...
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
178.22.216.*



+34 Profil

icon Re: Doctrine, Codeigniter, Memory usage24.09.2010. u 18:52 - pre 165 meseci
Citat:
djordje: Poceo sam da primenjujem Doctrine ORM i ne svidja mi se koliko memorije trosi. Codeigniter sam oko megabajt i po, kada se ukljuci doctrine dize se na oko 5 MB. Izvrsen je samo jedan upit koji dohvata 1 element (hidrirano u array) iz tabele sa 2 elementa. Iskljucen je autoloading modela i ukljucen lazy loading.

Cini mi se da je 5MB mnogo za jedan jeftini shared hosting i broj poseta sajtu od oko 2000 dnevno. Ne znam da li da se uopste upustam dalje u koriscenje doctrine-a, posto uglavnom radim sajtove koji se hostuju na ovaj nacin.

Koliko smatrate da je OK potrosnja memorije za stranicu na shared hostingu koja izvrsava 4-5 uglavnom jednostavnih i lakih sql upita?


Ja sam magistrirao na Doctrine-u i veruj, ne znam koliko bi klijent trebao da mi plati da bih radio bez njega.

To sto uzima 5MB, UOPSTE ne mora da te brine. Koliko sam testirao, on uvek uzme oko 5-6 MB. Pogledaj ovaj moj test:
Citat:

Poenta:
Doctrine+Smarty koje koristim mi zauzmu oko 6MB. Program o kome je rec u peak-u zauzme 10 MB i to samo na prvoj stranici. Na njoj ima:
1 instanca klase Banner
2++ instanci klase Translation; trenutno su dve jer je sajt na spanskom i engleskom
5++ instanci klase News; toliko trenutno ima vesti koje se prikazuju
30 instanci klase Song koje se ucitavaju iz 6 puta po 5 komada, zavisno od broja pregleda, ocene itd.
oko 30 instanci klase Category
8 instanci klase Staticpage
5 instanci klase Image za najaktivnije korisnike

Pritom:
Klase News, Category i Staticpage imaju prevode sto znaci da se radi 'leftJoin' sa prevodom tipa CategoryTranslation itd
Za Songs se radi leftJoin sa Dailyvisits i Statistics tabelama/klasama.
Na sve to dodaj 213 'recenica' za prevod sajta koje se ucitavaju za svaku stranicu.

Sve to se izvrsi za ~400ms i zauzme dodatnih 4MB na mom shared serveru. Da li sad razumes zasto se ne treba zezati sa optimizacijom? Ta prva stranica je bas prepunjena, a opet sam zauzeo tek 1/6 dozvoljene memorije.
I jos:
Sve ovo su bas instance objekata. Doctrine moze rezultate da vrati i kao array i da ustedi memoriju i poveca brzinu. Ali.... 4MB i 400ms za sve ovo? Koga briga za HYDRATE_ARRAY...


Ukratko: TOTALNO nebitno zauzece memorije jer vidis koliko sam ga ja zajahao, pa se nista nije desilo. A ja NIMALO ne stedim u nasledjivanju, nikad ne koristim HYDRATE_ARRAY, ne koristim optimizovanu verziju i nemam cach program. Samo guraj Doctrine i ne brini se.
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.dynamic.isp.telekom.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Doctrine, Codeigniter, Memory usage25.09.2010. u 13:51 - pre 165 meseci
Ovi sto ih ne brine zauzece memorije kao da su iz Majkrosofta.

U redu je koristiti zezalice koje ste pomenuli, ali da li bas uvek?

Sta ukoliko dobijes ogromnu posetu (recim 100 000 strana dnevno), a biznis model ti ne dozvoljava da ro radis na skupljoj masini?


 
Odgovor na temu

Mister_rap
SE at Viacom

Član broj: 8822
Poruke: 2540
*.dynamic.sbb.rs.

Jabber: mister_rap@jabber.com


+21 Profil

icon Re: Doctrine, Codeigniter, Memory usage25.09.2010. u 19:00 - pre 165 meseci
Citat:

U redu je koristiti zezalice koje ste pomenuli, ali da li bas uvek?


Nije u pitanju zezalica kao prvo, jer ni hibernate nije zezalica a usput receno bez istog ne bih mogao da zivim :) ...
Naravno da ih ne treba koristiti uvijek.

Citat:

Sta ukoliko dobijes ogromnu posetu (recim 100 000 strana dnevno), a biznis model ti ne dozvoljava da ro radis na skupljoj masini?


Ovaj tvoj termin "100 000 strana dnevno" mi je nejasan, mislim 100 000 unique vistors, hits, nesto trece ?

Ja jos nisam imao problem, sa strancima u vezi izbora tehnologije i resursa koji ce se koristiti, naravno prvo ide diskusija da li je to klijentima isplativo, al se tima bave menadzeri, moje je da kazem sta je potrebno da bi aplikacija radila.

Ni jedan OR maper nije idealan za sajtove koji imaju traffic boomove i veliki broj unique-a dnevno, i tu je bolje ici sa plain sql-om.
Ali cesto sam gledao totalno ne optimizovane sql upite sto nikako nije resenje...

Sa druge strane, prednosti OR mapera iz perspektive developera su ogromne, jer ide mnogo manje vremena na razvoj, ne bakces se sql-om itd, itd.
Inace Doctrine vrlo dobro radi na sajtovima koji imaju oko 500k unique-a mjesecno.

A normalno da me zauzece memorije ne brine, jer ne razvijam facebook ili google, vec kad krenes u novi projekat, postoje samo ambicije klijenta da isti bude uspjesan, da li ce zavisi od milion faktora, i cim se dodje do odredjene granice (nesto je sporo, koci, bla bla), developeri ce intervenisati (iz ugla developera to je dobar biznis model).

Ako si pak menadzer, ili arhitekt u prici, onda treba da posvetis vise paznje ovim stvarima.

My 2 cents.

 
Odgovor na temu

[es] :: PHP :: Doctrine, Codeigniter, Memory usage

[ Pregleda: 2685 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.