Konzumace pameti a Nette
- hurvajs
- Člen | 86
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?
- Petr Motejlek
- Člen | 293
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é ;)
- Ondřej Mirtes
- Člen | 1536
Já bych zkontroloval, jestli nenecháváš nějaké velké třídy načítat RobotLoaderem.
- Ondřej Mirtes
- Člen | 1536
_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
_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
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
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
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
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.