Konzumace pameti a Nette

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

Chtel jsem se zeptat, jakou mate zkusenost s „konzumaci“ pameti a Nette. Pisi ted modul pro fakturaci a musel jsem zvysit memory limit na 32M.

Profiler ukazuje Allocated memory: 17 133.6 kB coz mi pripada docela dost velka rezie. Uznavam, ze tam mam 11 predvyplnenych combo boxu, 12 inputu, 3 date pickery a n-pocet polozek faktury. Coz mi neprijde zase tak slozity a velky formular.

Jake mate zkusenosti vy?

sodae
Nette Evangelist | 250
+
0
-

až použiješ datagrid , něco piš :)
ne hele objektivita něco žere a říká se Vše co je objekově je pomalé.

Petr Motejlek
Člen | 293
+
0
-

U jednoho projektu mám běžně 20 MB (jinde o něco méně). Na rychlosti je to většinou znát tím, že se trochu protahuje čas, který uživatel čeká, než mu stránka zareaguje na kliknutí. Nejhorší (filtrovací) stránka má generovací čas cca jeden a půl vteřiny, ostatní jsou do půl vteřiny. I to je ale úplně v pohodě a ještě mi nikdo nikdy neřekl, že je to pomalé ;)

hurvajs
Člen | 86
+
0
-

Jasne, rozumim tomu, ze framework neco kouse v pameti, u ZF se dostavam i na 28M, ale proste mi to prislo hodne na to, ze tam je v podstate maly form.

Ondřej Mirtes
Člen | 1536
+
0
-

Já bych zkontroloval, jestli nenecháváš nějaké velké třídy načítat RobotLoaderem.

_Martin_
Generous Backer | 679
+
0
-

Já se nad 16MB dostal skriptem, který měl asi 2000 checkboxů. Holt ty objekty…

OT: Proč v době gigových pamětí řešíme 16MB memory limity?

Ondřej Mirtes
Člen | 1536
+
0
-

_Martin_ napsal(a):

Já se nad 16MB dostal skriptem, který měl asi 2000 checkboxů. Holt ty objekty…

OT: Proč v době gigových pamětí řešíme 16MB memory limity?

To je v kontextu shared webhostingů trochu nemístná otázka :))

Patrik Votoček
Člen | 2221
+
0
-

_Martin_ napsal(a):

OT: Proč v době gigových pamětí řešíme 16MB memory limity?

Protože spousta (nejenom) českých hostingů omezuje právě paměť někdy i na 16MB. To je také důvod proč jsem pořídil vlastní server.

hurvajs
Člen | 86
+
0
-

To _martin_:
Presne tak, protoze hodne hostingu ma i jen 16M. Ja mam tedy 64M a nastaveno podle toho co jsem chtel (hostuji u kamarada). To ze mame pameti v radek GB neznamena, ze musi skript pouzivat zavratne velikosti zabrane pameti.

To Ondřej Mirtes:
No nacitam tam par velkych trid (treba ACL model ma cca 4800 radku). Ale mel jsem za to, ze RobotLoader kesuje a obsahuje jen pole s kesovanymi tridamy (nazev objektu ⇒ cesta k objektu).

Honza Marek
Člen | 1664
+
0
-

hurvajs napsal(a):
To Ondřej Mirtes:
No nacitam tam par velkych trid (treba ACL model ma cca 4800 radku). Ale mel jsem za to, ze RobotLoader kesuje a obsahuje jen pole s kesovanymi tridamy (nazev objektu ⇒ cesta k objektu).

Jasně, velké třídy (nebo hodně tříd) je problémem jen při prvním načtení.

Ondřej Mirtes
Člen | 1536
+
0
-

Jeden známý zpracovával RobotLoaderem nějakou obrovskou knihovnu na generování PDF a celá aplikace s tím tedy problém měla i po prvním načtení. Stačilo ji vyloučit v netterobots.txt a spotřeba paměti klesla na únosnou mez.

Rozhodně to stojí za vyzkoušení, za vytvoření netterobots.txt, vyloučení některých adresářů a ručního napsání require_once v místě, kde ty třídy používáš, nic nedáš…

hurvajs
Člen | 86
+
0
-

Ondřej Mirtes napsal(a):
Rozhodně to stojí za vyzkoušení, za vytvoření netterobots.txt, vyloučení některých adresářů a ručního napsání require_once v místě, kde ty třídy používáš, nic nedáš…

To zkusit samozrejmen mohu, RobotLoader mam nakonfigurovany tak, ze prochazim jen nektere veci, presne jak pises a ostatni mam pripadne pres require_once. Ale spise se na to vykaslu, aplikace stejne pobezi na hostingu kde je 64M memory limit a pokud by ani to nestacilo, mohu se domluvit s kamosem a prenastavi mi to jak budu potrebovat.