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

Ozbiljan problem brzine izvrsenja stranica?

[es] :: PHP :: Ozbiljan problem brzine izvrsenja stranica?

[ Pregleda: 2846 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zgas

Član broj: 74613
Poruke: 334
89.110.198.*

Sajt: odbrojavanje.com


Profil

icon Ozbiljan problem brzine izvrsenja stranica?06.06.2008. u 21:26 - pre 193 meseci
Vec sam dosta odmakao na projektu koji radim. Ceo projekat je radjen sa Zend Frameworkom. Tek sada pojavila mi se zabrinutost u vezi sa brzinom izvrsenja php skriptova, o kojoj uopste nisam razmisljao u pocetku.

Arhitektura je takva da svi skriptovi koriste jedan te isti INCLUDE skript (odnosno bootstrap skript).
Uocio sam da kada administrator izvrsava neki tezi skript koji traje npr. 12 sekundi, da onda i korisnici koji izvrsavaju one brze skriptove moraju cekati da se izvrsi taj administratorov skript! Da li je to zbog koristenja istog include skripta? Ovo me navelo da se zabrinem za jos ozbiljniji problem:

----------------------------

Da ilustrujem:
Prosecno izvrsenje stranice je 1 sekunda. Kao sto rekoh, bilo koja pokrenuta stranica poziva Bootstrap osnovni php skript Zend Frameworka.
U jednom trenutku imam 100 korisnika na prezentaciji, i oni su u tom trenutku pokrenuli 100 razlicitih stranica. Da li ce stoti korisnik morati cekati da se prvo izvrse svaki ponaosob http zahtev prethodnih 99 korisnika? Odnosno, da li to znaci, da ce 100 korisnik morati cekati 100 sekundi na izvrsenje svoje stranice?

---------------------------

Pretpostavljam da i sam ovaj furum radi sa jednim te istim bootstrap fajlom za sve korisnike, pa mi nije jasno, kako nema ovih problema sa obzirom da je posecenost mnogo veca nego sto sam ja to naveo u mom primeru.

Molim za strucno misljenje, pomoc i nacin resenja problema (ako upste moze do njega doci, kao sto sam opisao gore).




Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

ppavlovic
Pavlovic Petar
Izvođač radova na sajtovima

Član broj: 4306
Poruke: 139
*.ru
Via: [es] mailing liste

Sajt: www.pavlovicpetar.com


+1 Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?06.06.2008. u 23:21 - pre 193 meseci
"Deljenje" .php fajlova nema veze od broja korisnika, tako da tu nije
usko grlo. Jedini problem prilikom deljenja fajlova moze se javiti
ako se koristi tekstualni fajl, pa ga jedan korisnik otvori za
pisanje, pa drugi moraju da cekaju dok ga ne oslobodi.

Najverovatnije je problem u cekanju na resurs da se oslobodi tabela.
MyISAM tabele se zakljucavaju dok god ih jedan korisnik upotrebljava.
Npr. imas jedan jaaaaako spor SQL upit koji traje 10 sekundi. Dok god
se ne zavrsi taj upit, ostali korisnici koji pokusavaju da
citaju/pisu po toj tabeli moraju da cekaju.

Mozes da instaliras xdebug i WinCacheGrind pa da uradis profiling
skripte da vidis gde je usko grlo, medjutim iz onoga sto si opisao,
problem je u sledecem:

1) Tvoji upiti ne koriste indekse
2) [NE DAJ BOZE!] Imas gomilu upita koji se izvrsavaju (najcesci primer je los
pristup resenju problema za relaciju 1:N), tj. umesto da se koristi
JOIN nad dve tabele, prvo se procita podatak iz jedne tabele, pa onda
X upita ka drugoj tabeli da bi se dobili ostali podaci.



[Ovu poruku je menjao misk0 dana 07.06.2008. u 10:33 GMT+1]
 
Odgovor na temu

Skaarj
Novi Sad

Član broj: 21463
Poruke: 365
79.101.252.*



+3 Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?06.06.2008. u 23:58 - pre 193 meseci
Zend Framework je malo sporiji, tako da ukoliko mnogo radis sa bazom i imas mnogo komplikovanih upita mozda ne bi bilo lose da razmislis i o kesiranju (imas Zend_Cache) tu mozes da dobijes dosta u brzini.

Takodje, posto korists ZF mislim da je najbolje da ne koristis Zend_Loader::loadClass (ako to vec nisi izbacio) nego samo stari dobri include/ require. Po nekim testovima Zend_Loader je dosta sporiji.

Eh da. Apache (i ne samo on) ne opsluzuje korsinike sekvencijalno nego paralelno tj. odjednom moze da usluzi 10, 100 ili koliko je vec admin namestio http zahteva.
 
Odgovor na temu

dr ZiDoo
Banja Luka

Član broj: 189
Poruke: 1728
79.143.164.*

Jabber: ZiDoo@elitesecurity.org
ICQ: 299539598
Sajt: zidoo.geek.rs.ba


Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?07.06.2008. u 01:06 - pre 193 meseci
Ja potpisujem da je problem na relaciji php <-> bazapodataka, vjerovatno te neki query koci
tu nema kašike....
 
Odgovor na temu

zgas

Član broj: 74613
Poruke: 334
89.110.207.*

Sajt: odbrojavanje.com


Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?07.06.2008. u 11:13 - pre 193 meseci
Hvala vam na odgovorima, dali ste mi nadu utehe.

Nije problem u brzini i broju izvrsenja upita u bazi, jer imam oko 5 - 10 brzih upita. Koristim tekstualne fajlove (Zend_Cash) samo za citanje nekih podataka, i to je veoma brzo, pa sumljam da oni blokiraju izvrsenje.

Napominjem, da se svi ovi pomenuti kes tekstualni fajlovi i mysql upiti koriste i u onim brzim skriptovima koji se izvrsavaju 1 sekundu. Znaci pomenuti administratorski php skript traje 17 sekundi (najverovatnije) zbog vecih aritmetickih operacija sa nizovima.

Mozda je problem u ovome:
Ja sam testirao ova izvrsenja sa istog racunara, to jest iz jednog prozora browzera sam pokrenuo onaj spori skript od 17 sekundi, a iz drugog prozora onaj bzi skript od 1 sekundu. Da li je mozda problem u tome sto apach ne dozvoljava da se sa iste ip adrese aktivira jos jedan http zahtev dok se predhodni ne izvrsi?

Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

Schmidt
RHCE

Član broj: 80784
Poruke: 647
*.poen.net.



+10 Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?07.06.2008. u 11:22 - pre 193 meseci
Pitanje je shta radi ta admin skripta tih 17 sekundi? Da li radi write u bazu, pravi neke statistike...? Slazhem se sa ostalima da je problem vjerovatno na bazi koja je zakljuchana prilikom tih dugotrajnih radnji. Koliko se chesto izvrshava ta admin skripta? Jednom dnevno, jednom mjesechno, po potrebi...?
 
Odgovor na temu

zgas

Član broj: 74613
Poruke: 334
89.110.207.*

Sajt: odbrojavanje.com


Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?07.06.2008. u 11:44 - pre 193 meseci
Bas sada sam izvrsio jos jedan test i dobio neocekivan rezultat!

Evo sta se desava:

Kada Koristim internet explorer 7 da pokrenem skriptove. Kao sto znate ovaj explorer ima tabulatore (mozete da otvorite vise stranica u jednom prozoru explirera).

Dugo vreme izvrsenja brzeg skripta se uopste NE DESAVA kada pokrenem brzi skript iz jednog posebnog prozora internet explorera, a onaj sporiji skript iz drugog posebnog prozora internet explorera!!

Medjutim ako koristim tabulatore za pokretanje ovih skriptova, onda se desava da brzi skript koji je odmah neposredno pokrenut nakon pokretanja prvog skripta iz prvog tabulatora ima dugo vreme izvrsenja.

komentar!?

[Ovu poruku je menjao zgas dana 07.06.2008. u 12:57 GMT+1]
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?07.06.2008. u 11:53 - pre 193 meseci
Znam da tabovi dele sesiju, pa te neko stavlja na cekanje, verovatno apache, mada je moguce i da sam ie se ne obraca serveru ukoliko se vec jedan request obradjuje...
u svakom slucaju, server ti lepo radi paralelno sa tim dugim skriptom, tako da mislim da i nemas problem. Onaj ko ceka taj dugi skript (verovatno admin) sacekace lepo da se izvrsi, pa onda krenutio dalje...
Probaj i iz ff i iz 2-3 ie paralelno da vidis da li je to zaista sema po kojoj se stvari odigravaju, cisto da budes siguran
 
Odgovor na temu

zgas

Član broj: 74613
Poruke: 334
89.110.207.*

Sajt: odbrojavanje.com


Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?07.06.2008. u 11:55 - pre 193 meseci
Problem je sa browzerom i sa bazom ukrsteno.

Ako pokrenem ove skriptove iz dva prozora, a u oba skripta korestim razlicito usser ime za konekciju na bazu onda kasnjenja nema.
A ako pokrenem ove skriptove iz dva prozora a u oba skripta sam konektovan sa istim usser imenom na bazu onda ima kasnjenja skripta.

A ako pokrenem ova dva skripta iz dva razlicita browzera (jedan Internet explorer a drugi Mozzila) a konekcija na bazu je sa istim usser imenom onda je vreme kod brzog skripta malo (neje produzeno za 15 sekundi)!

Zaista sve ovo je cudno!!

Molim vas ako mozete da mi pojasnite zasto se ovo desava.

[Ovu poruku je menjao zgas dana 07.06.2008. u 13:11 GMT+1]
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.dynamic.sbb.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Ozbiljan problem brzine izvrsenja stranica?07.06.2008. u 13:08 - pre 193 meseci
Ne znam da li će neko uspeti da ti objasni šta se dešava, mogu ljudi samo da ti pomognu pretpostavkama.

Mislim da ćeš najveći deo posla morati da odradiš sam. Ja imam par projekata koje trebam raditi u ZF, ali ga još uvek ne poznajem...

Jedno moje iskustvo je išlo u ovom pravcu:
-baza od 100Mb podataka, milioni zapisa su u pitanju.
-svaki query ide preko db abstract layera - tu sam uključio merenje vremena potrebnog za svaki pojedinačni query.
-postavljena su kontrolna vremena u skriptama

Naravno onda tražiš imaš li ekstremnih vremena potrošenih na rad sa bazom ili file sistemom. Rezultati mogu biti različiti u zavisnosti od toga koristiš li php4 ili php5, zavisno id verzije mysql-a.
U početku sam imao 8sec, ali sam to sveo na 0.1 sec. Mislim da se skripte ne bi trebale izvršavati duže od 0.5 sec...
Kod često ponavljanih zahteva koristi keširanje, a za dinamične boxove, naravno, ajax...

U svakom slučaju, moj savet je da testiraš delove skripte, jedan po jedan....



 
Odgovor na temu

[es] :: PHP :: Ozbiljan problem brzine izvrsenja stranica?

[ Pregleda: 2846 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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