Rychlost aplikace

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
crempa
Člen | 198
+
0
-

Zdravim,

po nahrani aplikace na hosting se me protahlo generovani vystupu az pres 1s. Po nahrani compact verze Nette + dibbi a „zkompreseni“ trid presenteru a modelu jsem se dostal k nejakym 200–300ms, ktere vsak nekdy vyskoci az na 600. Kod sice jeste neprosel nejakym rychlostnim refactoringem, ale i tak tam neni zadne vylozene uzke hrdlo, takze by me zajimalo kde pripadne hledat problem. Z testu frameworku co byl na rootu si neumim predstavit jak by se tom hostingu choval treba Zend…

Mate nejake tipy pro zrychleni aplikace (jednak v Nette, tak obecne OOP aplikace v PHP)? Jeste snad dodam, ze se jedna o neverejny informacni system, kde zatim vubec nepouzivam routovani, takze nejake cache clanku, rout apod. moc vyuzit nejdou…

diky

PS: jen pro zajimavost, kolik trid prumerne pouzivate pri jednom requestu (viz. profiler ladenky)..? jestli treba nehledat problem zde..

Jod
Člen | 701
+
0
-

Nebude to tým, že máš doma spustený nejaký accelerátor a na servri nie? Alebo pomalý či preťažený server keď ti vypisuje také čísla v profileri.

Mne sa vkladá do projektu tak 145 tried.

mlady
Člen | 24
+
0
-

Ja som mal velky problem s pomalostou (generovanie stranky trvalo 8–9 sekund) ked som dal Zend (potreboval som triedu Zend_Mail) do adresara libs. Akonahle som ho presunul do ineho adresara tak sa generovanie skratilo na stovky milisekund (nepamatam si presne cislo a teraz to ani neviem zistit). Takze mozno aj u teba je problem v tom, ze RobotLoader(?) sa musi prehrabat strasne velkym mnozstvom tried (aj ked ich aplikacia realne nevyuziva).

Jod
Člen | 701
+
0
-

RobotLoader sa na produkčnom cachuje. Kukni v temp hneď prvý súbor, tam by som nevidel problém, pokiaľ nemá nastavené inak.

Tomik
Nette Evangelist | 485
+
0
-

Ano, chyba může být např. při zápisu kešovacího souboru RobotLoaderu, pak vše prochází znova a znova a to může trvat déle.

crempa
Člen | 198
+
0
-

Zadne akceleratory nepouzivam a loader si pochopitelne cachuje, jinak se nedostanu nad 130 trid takze to snad neni takovy problem… nejvice (tak 3–4x) zrychlilo projekt nahrani nette compact

Obecne si zacinam myslet ze je to proste problem hostingu kde nemaji dost silne zelezo, doma na stare VIA sunce to lita kolem 150ms, nejsem ale co se otazky HW hostingu tyce nejak moc zbehly…

Jod
Člen | 701
+
0
-

Môže to byť tým. Pred chvíľou som kamošovi ukazoval svoj systém a sa ma pýta, že či 158ms neni nejak veľa. A ja, že mal by byť? A on mi z jeho systému postol 0,2ms. A ja že neverím :D ..Môj prcák C2D 2.2Ghz vs. jeho QuadCore s vyšším taktom. Čo myslíte?

phx
Člen | 651
+
0
-

Ja se doma pohybuji kolem 1s a vic. Taky netusim cim to:(

Patrik Votoček
Člen | 2221
+
0
-

Je taky možné že robotloader sice vytvoří cache soubor ale při příštím spuštění jej nette invaliduje (nepoužije) a „přegeneruje“ (vygeneruje nový a starý smaže). Zkus si to ověřit.

crempa
Člen | 198
+
0
-

dobra pripominka, ale cache je puvodni

vidim to proste jako dan za prehledne OOP programovani s vyuzitim frameworku a do budoucna si dam pozor na tento hosting :-/

Editoval crempa (9. 3. 2009 21:57)

Jod
Člen | 701
+
0
-

200–300ms neni také zlé zas. Keď si vezmeš že Zend sa pohybuje na 1s+ :D

Jiří Pospíšil
Člen | 1
+
0
-

Dodal bych: špatně napsaná Zend app se pohybuje okolo 1s.

Jod
Člen | 701
+
0
-

S vypnutým eAcceleratorom tá jedna sekunda nebude nič neobvyklé.

phx
Člen | 651
+
0
-

Jak se pozna spatna a dobra app? Ceho se vyvarovat? Osobne si nemyslim, ze moje app je spatna (to asi kazdy co?), ale s Nette jsem okolo 1s.

Mas3r
Člen | 116
+
0
-

Já se na localu pohybuju od 100–250ms, dotazy na DB do několika ms. Hodil by se mi nějaký nástroj, který by mi řekl, jak dlouho trvaly určité úkony.

phx
Člen | 651
+
0
-

xDebug profiler – googli:)

Me to DB nezdrzuje. Ta je par ms. Je to v PHP, ale kde. Merim to pomoci Debug::timer, ktery pustim hned po include Nette a ukoncim pri vypisu paticky webu.

David Grudl
Nette Core | 8158
+
0
-

Tohle chce vážně analyzovat profilerem. Bývají buď integrované v IDE, nebo lze použít třeba ten xdebug.

Jod
Člen | 701
+
0
-

Ja stále nerozumiem tomu, že kamošové cms vyrenderuje za 0,2 ms :D

romansklenar
Člen | 655
+
0
-

Pro srovnání co se týče té rychlosti, tak na mojem webínku to vypadá asi takhle:

  • 1619ms – blbě nastavený server
  • 251ms – localhost ala AMD X2 5000@2,6 GHz, 1GB RAM, WinXP (kešováno, žádný akcelerátor, phpinfo)
  • 43ms – na hostingu Onebit.cz (nastavení viz jejich phpinfo)

jde o jednu a tu samou stránku a nejsou použity kompaktní verze knihoven (Nette, dibi, Texy!, Zend\Mail) takže by rychlost mohla být i větší. U rozsáhlejšího (nebo špatně napsaného) webu mi to jde na localhostu k ±500ms.

phx
Člen | 651
+
0
-

Pekny rozdily. Slo by nejak rozvest „spatne nastaveny webserver“? Nebo spise lepe jak nastavit dobre webserver?

Honza Marek
Člen | 1664
+
0
-

Offtopic: Jak najdu „jejich phpinfo“? Myslím, že funkce phpinfo je tam bůhvíproč zakázaná.

romansklenar
Člen | 655
+
0
-

phx napsal(a):

Pekny rozdily. Slo by nejak rozvest „spatne nastaveny webserver“? Nebo spise lepe jak nastavit dobre webserver?

Tam tuším byl/je nějaký předpotopní „akcelerátor“, možná špatně zkompilovaný nějaký modul (gentoo)… kdo ví, už nemám možnost to zjistit.

Honza M. napsal(a):

Offtopic: Jak najdu „jejich phpinfo“? Myslím, že funkce phpinfo je tam bůhvíproč zakázaná.

Fakt že jo, nemaj to veřejné ani na webu… doplnil jsem to do toho příspěvku link.