Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Alcuni stratagemmi per velocizzare PHP
Scritto da Francesco Di Salvo il 13-12-2006 ore 17:16
Intel Parallel Studio XE
L'impiego di un linguaggio interpretato per raggiungere scopi quali la realizzazione di applicazioni Web è spesso più conveniente in termini di tempo rispetto ad altre soluzioni più performanti, ma certamente di più complessa realizzazione. Tuttavia, questo non vuol dire che non bisogna sforzarsi di ottimizzare gli strumenti a propria disposizione per ottenere il massimo anche da un linguaggio di scripting come il PHP.

Sebbene infatti le prestazioni di quest'ultimo siano spesso abbastanza soddisfacenti, le soluzioni per diminuire i tempi di esecuzione sono diverse. Abbiamo già parlato di acceleratori per il linguaggio PHP, ossia meccanismi di caching del codice macchina generato.

A quelli citati nel mio precedente articolo vorrei aggiungerne alcuni altri, come ionCube e Zend Guard, conosciuto come Zend Encoder. Anche se molto efficiente, quella degli acceleratori non è la sola soluzione per aumentare le prestazioni dei propri script. Per citare un'altra tecnica simile, è possibile ridurre i tempi di esecuzione utilizzando un sistema di templates capace di mantenere in una cache gli elementi statici di una pagina Web, in maniera da evitare di ricrearli per ogni singola chiamata. Come esempio, potete dare uno sguardo a Smarty, Savant e HTML_Template_IT ottenibile dal sito PEAR.

Una soluzione un po' più strutturata potrebbe essere l'uso di un sistema di caching distribuito, come ad esempio memcached, disponibile anche per altri linguaggi. Utilizzando un sistema del genere, è possibile mettere in una cache distribuita fra più macchine gran parte del contenuto del proprio database, migliorando le performance degli script che vi accedono.

Infine, la compressione dell'output dei propri script può migliorare i tempi di risposta, in quanto utilizzando gzip per comprimere i dati in uscita è possibile ridurne il volume di quasi l'80%, anche se questo sprecherà qualche ciclo di CPU sia sui server che sui client.

  1. zlib.output_compression = on
  2. zlib.output_compression_level = (livello da 1 a 9)


Per il resto, potrebbe essere utile anche avvalersi di trucchetti, come impostare anche alcune variabili di configurazione di PHP che possono influire sulle prestazioni, la disattivazione del logging degli errori o l'uso di indirizzi IP per accedere al proprio database. Vi invito quindi a leggere il post da cui prende spunto questa segnalazione e a considerare comunque che un risultato importante può essere ottenuto semplicemente ottimizzando il proprio codice ed evitando query superflue. A tale proposito, si faccia riferimento anche ad un articolo apparso su Zend.com, che si occupa appunto dell'ottimizzazione dei propri script.
Precedente: MOSRO e OFRO, due vigilanti molto speciali
Successiva: Hackman Suite, strumenti per programmatori e hacker
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.231 secondi.