DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 09. 02. 2006.   #1
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default 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!
bluesman je offline   Odgovorite uz citat
Staro 09. 02. 2006.   #2
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

[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.
zextra je offline   Odgovorite uz citat
Staro 09. 02. 2006.   #3
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

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!
bluesman je offline   Odgovorite uz citat
Staro 09. 02. 2006.   #4
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

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.
zextra je offline   Odgovorite uz citat
Staro 09. 02. 2006.   #5
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

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!
bluesman je offline   Odgovorite uz citat
Staro 09. 02. 2006.   #6
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

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
zextra je offline   Odgovorite uz citat
Staro 09. 02. 2006.   #7
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

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.

Poslednja izmena od Ilija Studen : 09. 02. 2006. u 21:49.
Ilija Studen je offline   Odgovorite uz citat
Staro 09. 02. 2006.   #8
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

$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!
bluesman je offline   Odgovorite uz citat
Staro 10. 02. 2006.   #9
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

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.
ivanhoe je offline   Odgovorite uz citat
Staro 10. 02. 2006.   #10
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Citat:
Originalno napisao ivanhoe
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?
To je to. Kad definišeš resurs definišeš 4 funkcije - jednu za proveru timestampa (vreme zadnje izmene), jednu za čitanje + dve dodatne funkcije. U suštini, ako je compile_check ON Smarty radi jedan ili dva upita - prvi proverava timestamp i drugi izvlačenje templatea ako je on modifikovan.

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.
Ilija Studen je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

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


Vreme je GMT +2. Trenutno vreme je 20:35.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.