giovedì 5 febbraio 2015

APC dovrebbe essere abilitata per impostazione predefinita

PHP è lento . Questo non dovrebbe essere una grande rivelazione per nessuno di noi, e questo non perché PHP è un linguaggio di programmazione male, o perché Python o Ruby sono migliori. Questo perché si tratta di un linguaggio interpretato . Ogni volta che si esegue uno script PHP che sta per fare la stessa cosa e interpretare il codice e quindi eseguire più e più volte. Questo è ovviamente lento e non si confronta con qualsiasi linguaggio compilato come C ++, ad esempio. Ma noi non vogliamo scrivere in C ++ per i nostri webapps, giusto? e vorremmo usare la semplicità PHP come molti altri prodotti open source e gli sviluppatori; cosa possiamo fare allora? Possiamo facilmente permettere a qualsiasi della cache disponibile codice operativo: APC , eAccelerator o xcache (io non sono a conoscenza di qualcosa di simile per Python o Ruby, ma se esiste probabilmente si dovrebbe usare anche). Una cache di codice operativo o PHP acceleratore , immagazzina la forma compilata degli script php di accelerare drasticamente il tempo di esecuzione. Molte persone hanno fatto questo lungo tempo come avevano bisogno di migliorare le prestazioni dei propri siti, e ottenere risultati fino a 20x velocità dal PHP pianura. Un intro molto semplice step-by-step su come è possibile installare APC si possono trovare su questo messaggio più vecchio .


Ora qui è la questione un mio caro amico mi ha chiesto qualche tempo fa: perché è APC non abilitati in modo predefinito? Perché le persone devono fare un passo in più per installare un modulo esterno per questo (che molti non lo fanno). E la mia risposta a quel tempo era che le cache codice operativo non sono perfetti, e, a seconda da come si scrive il codice che potrebbe causare problemi e farlo non funziona correttamente. Penso di essere stato molto felice con la mia risposta come me avrei sempre installare una cache codice operativo in qualsiasi sito ad alto traffico sono riuscito fin dal primo giorno (la maggior parte del tempo APC, ma anche eAccelerator) e molte volte anche in esecuzione il confronto tra loro per vedere se uno di loro è più veloce. Ancora ancora oggi, nella maggior parte dei progetti di performance abbiamo completato, abbiamo trovato le persone non lo fanno, e non abbiamo APC installato e attivato . Ci sono alcuni trucchi su come sintonizzare APC e migliorare ancora meglio le sue prestazioni, ma qui sto parlando solo di averlo installato. Questo è il motivo per cui penso che APC dovrebbe essere abilitata di default in tutto il mondo (non solo da siti "ad alto traffico"). Dovrebbe dare script PHP una spinta di prestazioni e se davvero hanno problemi con esso è possibile disattivarlo a livello vhost o directory molto semplice, basta con l'aggiunta in .htaccess: php_flag apc.cache_by_default On


Spero che sempre più persone lo farà in modo che possiamo concentrarci su più gravi problemi di prestazioni nelle nostre webapps PHP. Non vedo perché no, perché questo è molto semplice e ci sono un sacco di howto di disponibile. Ancora se hai bisogno di aiuto, e si desidera che noi facciamo per voi, vi preghiamo di contattarci e di farci accelerare il vostro sito.


Nota: se avete fatto questo molti anni fa e vuole somethign ancora più veloce per il vostro codice PHP si dovrebbe dare un'occhiata a HipHop il progetto da Facebook a compilare i vostri script php (in realtà si trasforma PHP codice sorgente in altamente ottimizzato C ++ e quindi utilizza g ++ per compilarlo in codice macchina) ed eseguire come eseguibili (ma questo sta per essere molto più difficile da realizzare, ma comunque un progetto molto interessante da tenere d'occhio).

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.