diminuire memoria usata da yii

Salve a tutti, avrei bisogno di un aiuto:la mia web application usa molta memoria, la singola pagina arriva a 4,5 mega, di cui 2,3 sono utilazzata da yii (ho fatto un test in una pagina bianca).Devo diminuire la memoria usata dal framework, avete qualche indicazione?

Io no. Come hai eseguito il test?

c’è una funzione di php, get_memory_peek_usage, poi ho usato un software di profiling per vedere chi è che ciucciava la memoria, la cosa strana è che le variabili $_POST, $_FILES_e $COOKIE segnano 2,2 mega, non a testa, se no ma somma farebbe 6,6 mega, bensì credo che una di queste variabili contenga rimandi all’altra. La cosa strana è che se faccio il var_dump risultano vuote, come è logico che sia, è una pagina bianca!!!

edit: c’era un bug nel profiler

public function logMemory($object = false, $name = 'PHP') {


	$memory = memory_get_usage();


	if($object) $memory = strlen(serialize($object));


	$logItem = array(


		"data" => $memory,


		"type" => 'memory',


		"name" => $name,


		"dataType" => gettype($object)


	);


	$GLOBALS['debugger_logs']['console'][] = $logItem;


	$GLOBALS['debugger_logs']['memoryCount'] += 1;


}

se gli passi un array vuoto non va nell’if e ti restituisce memory_get_usage();, svelato l’arcano

Che intendi per pagina bianca?

La ‘demo’ hello world a me usa 1.8mb di memoria usando memory_get_peak_usage (con 300Kb gia in uso prima ancora dell’init di yii che tecnicamente andrebbero sottratti a quel 1.8mb)

banned,

allora ci siamo: nella mia applicazione una pagina bianca misura 2,3, molto simile ai tuoi 1,8(la differenza può essere duvuta ai files che importo, forse), quindi diciamo che mediamente yii da solo pesa 2.00, non è molto? Attualmente una pagina della mia applicazione pesa 4 e passa mega, devo ridurre significativamente questo valore.

Sinceramente no, non è molto :)

Considera che esistono applicazioni molto più pesanti che tengono su migliaia di connessioni per volta.

Prendi qualsiasi forum vBulletin o Invision Power Board (quello dove stiamo scrivendo ora per esempio) prova a misurare la memoria utilizzata e inorridisci pure :)

Prendi un CMS come drupal e spaventati leggendo nel readme che suggeriscono un’impostazione di php memory_limit pari ad ALMENO 128mb.

Prendi altri frameworks php (symfony, zend) e fatti venire i brividi quando vedi che richiedono 2/3 volte la memoria necessaria per la tua pagina bianca

… e poi prendi php, fai scrivere a schermo ‘hello world’ e vedi che 300KB di memoria li usi solo per quello.

1,8MB - 315KB = 1.5MB… no, non è molto. Per quello che offre YII

banned,

P.S. Oggi come oggi 8GB di ram (non ECC) li trovi a meno di 40€, prima di riempirli hai così da caricare pagine bianche di yii ;)

Puoi sempre scirvere pagine web in c =).

Grazie delle info, in realtà mi sono accorto che sul framework c’è ben poco da limare, visto che tutte le classi le carica in memoria solo quando sono effettivamente usate, posso invece limare sulla mia applicazione, per esempio importavo la classe CHtml per usare solo 1 dei suoi metodi statici, bè, quella classe da sola pesa più di 600 k in memoria!

a me carica 8 megabyte nelle pagine più pesanti