09. 02. 2006. | #1 |
Goran Pilipović
Sir Write-a-Lot
|
Smarty register_resource() - db:
Upravo sam napravio funkcije i jednu klasu koja omogućava čitanje smarty template iz baze podataka (u ovom slučaju mysql) i čini se prilično zgodno, naročito ako imate neki integrisan CMS, međutim ono o čemu razmišljam su performanse. Ne znam kako će se ponašati sa velikim brojem posetilaca.
Ja sam napravio neko interno keširanje tih template, znači ako na 3 mesta uradiš recimo $smarty->fetch ("db:intex.tpl") da ne čita sva 3 puta iz baze već drži u memoriji taj template do kraja izvršenja scripta. Da li je neko radio nešto slično pa ima iskustva sa performansama?
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
09. 02. 2006. | #2 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
[edit]Nisam odgovarao na konkretno pitanje, pa je moj post actually OT[/edit]
Off Topic: Ja radim keshiranje kad god pomislim da bi nesto moglo da ima uticaja na performanse, iako mi uvek kazu da se manem optimizacije dok se ne ukaze potreba za tim. Posto si verovatno pratio example u smarty manualu, onda u tabeli imas timestamp koji odgovara vremenu izmene templejta. U slucaju da aplikacija bude pod intenzivnim opterecenjem, sigurno ti nece predstavljati problem da ukljucis smartijevo interno keshiranje, koje ce posao obavljati verovatno brze nego tvoj interni kesh. Na osnovu datog timestamp-a smarty zna da li je template menjan ili ne, pa ce preuzeti novi template iz baze ili ce koristiti keshiranu verziju, respektivno. Dakle, dokle god ne budes imao intenzivno opterecenje na sajtu, ne moras se zamarati sa tim, a kad se ukaze potreba, upali keshiranje i resen problem. Off Topic: Oh, 256-ti post - bas lep i okrugao broj
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams Poslednja izmena od zextra : 09. 02. 2006. u 14:52. |
09. 02. 2006. | #3 |
Goran Pilipović
Sir Write-a-Lot
|
zextra: with all due respect, moje pitanje nije bilo kako da uradim, već je urađeno već da li ima neko iskustva sa performansama pri velikoj posećenosti web sajta. Znači : ja znam da će biti velika posećenost i radim to odmah, ne vredi da čekam da ustanovim nešto što već znam pa da prepravljam kasnije.
[edit]BTW, u smarty manual nema primera, bar ga ja nisam našao. Postoji samo štura informacija o strukturi i kakve callback funkcije treba da postoje[/edit]
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
09. 02. 2006. | #4 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
http://smarty.php.net/manual/en/template.resources.php - pri kraju strane imas primer.
Znao sam sta pitas, ali posto nisam imao iskustva sa performansama u datim uslovima, nisam mogao da ti dam konkretan odgovor - nadao sam se da smartijevo keshiranje moze da ti pomogne. Jesi probao da opteretis sajt nekim od komercijalnih programa za testiranje?
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams Poslednja izmena od zextra : 09. 02. 2006. u 15:05. |
09. 02. 2006. | #5 |
Goran Pilipović
Sir Write-a-Lot
|
E sorry, nisam ni citao online verziju manuala, citao sam neki bajati sto sam skinuo odavno.
Hajde kada pricas (ne znam zasto si stavio offtopic) mozda mozes i da spomenes neki od tih komercijalnih programa za testiranje, nisam imao dodira sa tim.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
09. 02. 2006. | #6 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Ne citam ni ja online verziju - imam lokalnu kopiju.
http://www.loadtestingtool.com/ WAPT (Web Application Testing)
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
09. 02. 2006. | #7 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
PHP kod - brz
Komunikacija sa bazom, fajl sistemom, spoljnim resursima preko web servisa... - sporo (u konktekstu sproje od čistog PHPa) To je manje više opšte pravilo koga se treba držati kad praviš nešto što će biti pod velikim opterećenje. Za konkretne brojke treba odraditi jednostavan test. Koristio sam rešenje gde se Smarty templatei čuvaju u bazi (kako bi jednostavno mogao biti editovan kroz admin). Sporije jeste, ali za ono za šta je meni trebalo (višejezičan sajt sa gomilom upita na bazu) nije donosilo primetno usporenje (jedan upit nije činio veliku razliku). PS: Pre ili kasnije ćeš morati da isključiš compile_chack tako da nećeš imati nikakvih problema jer ćeš uvek iznova koristiti kompajliranu verziju bez i jednog upita na bazu i tada će jedini overhead činiti sam Smarty.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog Poslednja izmena od Ilija Studen : 09. 02. 2006. u 21:49. |
09. 02. 2006. | #8 |
Goran Pilipović
Sir Write-a-Lot
|
$smarty->compile_check mi je uvek isključen na live sajtovima, tako da uvek "trči" na prekompajliranim template-ovima. Što se tiče db: resource, ja uvek mogu da mu vraćam neki stari timestamp čak i ako je compile_check uključen.
Ono o čemu ja razmišljam je recimo 500 usera online od kojih svake sekunde otvore 50 novih strana, znači bar 50 qeury-ja u sekudni... 50 query-ja više nego da čita iz file: - to nije mala razlika.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
10. 02. 2006. | #9 |
Ivan Dilber
Sir Write-a-Lot
|
mozda sam ja malo glup (ili puno ) ali ne razumem, da li ti drzis u bazi kompajlirane templejte ? Ili izvorne, kao sto bi meni bilo logicnije, jer se na njima vrse izmene...
Ako drzis u bazi izvornu verziju templejta (ne-kompajliranu) i iskljucen ti je compile_check, onda smarty ne bi trebao da ikada uradi i jedan upit na bazi (sem kod bas prvog pokretanja..), jer ce koristiiti svoje kompajlirane templejte za prikaz, koji i dalje idu kao fajlovi iz svog direktorijuma... ili nije tako? Sorry ako lupam nesto, ali nisam nikad radio sa smartijem na taj nacin, tako da su sva objasnjenja dobrodosla...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
10. 02. 2006. | #10 | |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Citat:
Kad je compile_check OFF ne bi trebalo da se desi ni jedan upit već da se koristi kompajlirana verzija sa diska tako da ovaj pristup donosi nepotreban overhead samo u vreme razvoja, ne i u produkcionom okruženju.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Smarty 3 Released | bluesman | PHP | 27 | 19. 03. 2011. 02:30 |
Smarty 3 | bluesman | PHP | 26 | 01. 01. 2010. 21:03 |
smarty - assign_by_ref | ivanhoe | PHP | 2 | 14. 10. 2009. 22:46 |
Alternativa za Smarty | oliver78 | PHP | 10 | 21. 01. 2006. 18:07 |
Zašto Smarty? | Ilija Studen | PHP | 47 | 24. 12. 2005. 18:11 |