PHP è uno dei linguaggi di programmazione lato server più utilizzati e alimenta circa il 76% dei siti web attivi. Ogni anno pubblichiamo i nostri benchmark approfonditi sulle prestazioni di vari framework PHP per vedere come le diverse versioni di PHP si posizionano l’una rispetto all’altra.
Nel dicembre 2023, abbiamo analizzato le prestazioni di PHP 8.1, 8.2 e 8.3 su 11 sistemi di gestione dei contenuti (CMS) e framework: WordPress, WooCommerce, Drupal (versioni 7 e 10), Joomla, Laravel, Symfony, CodeIgniter, Craft CMS, Typo3, Opencart e Statamic. Abbiamo anche effettuato un benchmark di WordPress e WooCommerce su PHP 7.4, dato che molti siti funzionano ancora con questa versione.
Come best practice, consigliamo di utilizzare sempre l’ultima versione di PHP per ottimizzare le prestazioni e la sicurezza.
I nostri benchmark PHP
Per valutare le prestazioni di un CMS o di un framework rispetto alle versioni PHP più recenti, abbiamo eseguito dei test di benchmark. Per coerenza, abbiamo utilizzato la stessa macchina e gli stessi parametri per ogni CMS o framework testato.
I test di benchmark riportati in questo articolo sono stati eseguiti nei seguenti ambienti:
- Macchina: Intel Cascade Lake (30 core CPU) @ 3.10GHz, 120GB RAM, 1TB HDD. Una macchina virtuale Compute-Optimized (C2) alimentata da Google Cloud Platform ed eseguita in un container isolato.
- Sistema operativo: Ubuntu 20.04.6 LTS (Focal Fossa).
- CMS e framework: Configurazioni predefinite, installate con DDEV v1.22.5
amd64
sunginx-fpm
come--webserver-type
basato sulla versione 1.22.0 dell’immagine. - Versioni PHP: 7.4.33, 8.1.26, 8.2.13, 8.3.0
- Database:
ddev-dbserver-mariadb-10.4
- Strumenti: ab – Strumento di benchmarking del server HTTP Apache.
- Concorrenza: 15 richieste contemporaneamente.
- Richieste: 1000 richieste per sessione.
- Risultati: Ottenuti in richieste al secondo (req/s). Più alto è il risultato, più veloce è la risposta.
CMS e Framework
PHP è noto per la sua vasta libreria di framework e CMS. Per scegliere quali testare abbiamo preso in considerazione alcuni aspetti, tra cui:
- Popolarità
- Siti web attivi
- Posizione di mercato
- Tendenze di utilizzo
- Volume di ricerca (Stati Uniti)
Ad esempio, WordPress continua a brillare, rappresentando il 62% dell’intero mercato dei CMS, con oltre 34 milioni di siti web attivi e un forte aumento dell’utilizzo nel tempo.
D’altra parte, anche se Statamic ha un’impronta più piccola sul web, con circa 10.000 siti attivi, la sua forte crescita e la sua crescente popolarità hanno attirato la nostra attenzione.
Abbiamo incluso anche Symfony. Sebbene negli ultimi anni abbia subito un calo di popolarità rispetto al picco precedente, Symfony ha ancora molti siti attivi e un grande volume di ricerca mensile.
Gli altri CMS e framework che abbiamo scelto per il benchmark soddisfano gli stessi standard.
Diamo un’occhiata ai risultati.
WordPress
WordPress è un CMS open-source che permette di gestire facilmente aspetti importanti del sito web senza conoscere nulla di programmazione. WordPress è facile da usare per i principianti e non è necessario conoscere il codice per installarlo e mantenerlo, il che lo rende molto interessante per chiunque non sia un programmatore per avviare il proprio sito web, blog o negozio web.
WordPress è alla base di oltre il 42% di tutti i siti web esistenti. Per dirla in un altro modo, si tratta del 62% di tutti i CMS conosciuti.
L’ecosistema open-source di WordPress è una manna per i programmatori esperti che vogliono costruire le loro applicazioni basandosi su una piattaforma robusta, flessibile e affidabile.
WordPress è anche molto utilizzato come CMS headless backend per applicazioni costruite con moderni framework frontend come React, Vue.js e altri. Si possono utilizzare le funzionalità di gestione dei contenuti di WordPress con generatori di siti statici come Gatsby, Hugo, VuePress e Next.js.
Ed è possibile creare una versione statica del proprio intero sito WordPress per aumentare la sicurezza e migliorare le prestazioni. Questi approcci contemporanei iniziano con una piattaforma affidabile per applicazioni web dinamiche, eleganti e brillanti per distinguersi e attirare i visitatori.
Benchmark di WordPress
- Versioni testate: WordPress 6.4.2 and 6.2.2.
- URL testato:
/
- Dimensione: 84,257,000 bytes (WordPress 6.4.2); 52,684,000 bytes (WordPress 6.2.2).
- Risultati per WordPress 6.4.2:
- PHP 7.4: 149 res/s.
- PHP 8.1: 153 richieste/s.
- PHP 8.2: 158 richieste/s.
- PHP 8.3: 169 richieste/s.
- Risultati per WordPress 6.2.2:
- PHP 7.4: 147 res/s.
- PHP 8.1: 151 richieste/s.
- PHP 8.2: 153 richieste/s.
- PHP 8.3: 165 richieste/s.
WordPress ha prestazioni migliori con le versioni PHP più recenti. E più sono nuove, meglio è. L’aggiornamento a PHP 8.3 è un must per tutti coloro che si preoccupano della sicurezza e delle prestazioni del proprio sito WordPress.
Come aggiornamento, abbiamo effettuato un benchmark anche su WordPress 6.4.2. Il sistema supera il suo fratello maggiore in tutte le versioni PHP. Probabilmente 6.2.2, i risultati mostrano che si comporta meglio con le versioni PHP più recenti. L’aumento di velocità da PHP 8.2 a 8.3 è di circa il 7%, simile a quello ottenuto con WordPress 6.2.2.
Per ottenere il massimo da WordPress, scoprite come velocizzare il vostro sito web. È risaputo che WordPress ha bisogno di un buon server per funzionare bene. Con Kinsta avete il miglior servizio di hosting, velocità e sicurezza e potete gestire facilmente i vostri siti WordPress.
WooCommerce
WooCommerce è la piattaforma di vendita online più utilizzata. Aiuta commercianti e sviluppatori a costruire aziende di successo a lungo termine. Detiene quasi il 20% dei siti di ecommerce su Internet, è personalizzabile, open-source e costruita su WordPress. Con WooCommerce avete a disposizione un’infrastruttura sicura, matura e affidabile per vendere online. Inoltre, potete sfruttare i plugin di WordPress, WP-CLI, gli hook, i filtri e gli endpoint delle API REST per gestire il vostro negozio.
Benchmark di WooCommerce
- Versione testata: Woo 7.9.0 su WordPress 6.2.2.
- URL testato:
/product/product/
- Dimensione: 57.470.000 byte.
- Risultati:
- PHP 7.4: 48 res/s.
- PHP 8.1: 49 req/s.
- PHP 8.2: 49 richieste/s.
- PHP 8.3: 58 richieste/s.
Se il vostro sito WooCommerce funziona con una versione precedente di PHP, prendete in considerazione l’idea di aggiornarlo al più presto per ottenere un aumento delle prestazioni con PHP 8.3.
Laravel
Laravel è un framework PHP open-source che fornisce agli sviluppatori web strumenti e risorse per realizzare moderne applicazioni web in PHP. Le funzionalità integrate, come l’interfaccia a riga di comando (Artisan), l’autenticazione nativa e il modello di architettura MVC (Model-View-Controller), rendono Laravel versatile e facile da usare, contribuendo alla sua crescente popolarità.
Benchmark di Laravel
- Versione testata: Laravel 10.16.1.
- URL testato:
/
- Dimensione: 27.514.000 byte.
- Risultati:
- PHP 8.1: 611 richieste/s.
- PHP 8.2: 670 richieste/s.
- PHP 8.3: 925 richieste/s.
Laravel offre un considerevole aumento delle prestazioni quando si passa da PHP 8.1 a 8.2. Con PHP 8.3 si guadagna un altro 38% rispetto a 8.2. L’aggiornamento alla versione 8.3 è una scelta obbligata.
Drupal
Drupal è un CMS potente e scalabile con ottime caratteristiche standard, come facilità di creazione dei contenuti, affidabilità delle prestazioni, eccellente sicurezza, flessibilità e modularità, che è uno dei suoi principi fondamentali. I suoi strumenti aiutano a creare i contenuti versatili e strutturati che le esperienze web dinamiche richiedono.
È un’ottima scelta per la creazione di strutture digitali integrate, perché potete estenderlo con molti componenti aggiuntivi. Drupal è più una piattaforma di sviluppo CMS che un sito web pronto all’uso.
Drupal 7, rilasciato nel 2011, continua a essere la versione più utilizzata, quindi abbiamo effettuato un benchmark con Drupal 10, la versione più recente e migliorata.
La fine del ciclo di vita di Drupal 7 era prevista per dicembre 2023, ma è stata prorogata fino a gennaio 2025 per dare agli utenti più tempo per migrare.
Benchmark di Drupal
- Versioni testate: Drupal 10.1.1 e 7.98.
- URL testato:
/
- Dimensione: 19.102.000 byte (Drupal 10); 8.075.000 byte (Drupal 7).
- Risultati (Drupal 10):
- PHP 8.1: 922 req/s.
- PHP 8.2: 941 richieste/s.
- PHP 8.3: 1432 richieste/s.
- Risultati (Drupal 7):
- PHP 8.1: 661 req/s.
- PHP 8.2: 753 richiami/s.
- PHP 8.3: 823 req/s.
Se state ancora utilizzando una versione precedente di Drupal, prendete in considerazione la possibilità di aggiornarla per motivi di prestazioni e sicurezza, oltre che per sfruttare tutte le nuove funzionalità e gli eventuali miglioramenti in arrivo. Gli aggiornamenti tra Drupal 8, 9 e 10 sono considerati senza soluzione di continuità per la maggior parte della comunità.
Vale la pena aggiornare dalla 7 alla 8 per prepararsi a Drupal 10 e renderlo subito operativo. Dai risultati dei benchmark, è chiaro che l’aggiornamento da Drupal 7 a 10 migliora significativamente le prestazioni. L’utilizzo di PHP 8.3 con Drupal 10 offre un’estrema velocità per soddisfare i vostri visitatori e mantenere l’engagement, rendendo l’aggiornamento la mossa più intelligente.
Joomla
Joomla è un popolare CMS open-source costruito su un framework per applicazioni web model-view-controller che può essere utilizzato indipendentemente dal CMS per creare applicazioni online. Presenta un sistema flessibile e facile da estendere e personalizzare grazie alla sua vasta libreria di estensioni. Joomla ha funzioni integrate di ottimizzazione della ricerca e un’ottima reputazione per il rapido rilascio di patch di sicurezza prima che si diffondano gli exploit.
Benchmark di Joomla
- Versione testata: Joomla 4.3.3.
- URL testato:
/
- Dimensione: 8.111.000 byte.
- Risultati:
- PHP 8.1: 274 richieste/s.
- PHP 8.2: 265 richieste/s.
- PHP 8.3: 341 richieste/s.
Nei nostri test, i benchmark di PHP 8.1 e 8.2 per Joomla non hanno subito variazioni significative. Con PHP 8.3, invece, abbiamo riscontrato un aumento di quasi il 30%, rendendo l’8.3 la scelta più intelligente per la gestione del vostro sito.
Symfony
Symfony è un framework backend ricco e flessibile per applicazioni complesse. La sua architettura MVC fornisce strumenti e funzionalità appositamente studiati per la creazione di applicazioni web PHP sistematiche e scalabili, tra cui il supporto per ambienti multipli e un robusto sistema di caching.
È molto popolare tra la comunità open-source ed è ben fornito di un’ampia libreria di componenti e bundle. Per gli obiettivi commerciali a lungo termine e per i siti web che catturano un vasto pubblico, Symfony è un’ottima scelta.
Benchmark di Symfony
- Versione testata: Symfony 6.3.0.
- URL testato:
/
- Dimensione: 559.000 byte.
- Risultati:
- PHP 8.1: 931 richieste/s.
- PHP 8.2: 997 richieste/s.
- PHP 8.3: 1182 richieste/s.
Symfony è veloce per natura. Nei nostri test, PHP 8.1 e 8.2 hanno avuto prestazioni simili, ma 8.3 ha brillato su tutti.
CodeIgniter
CodeIgniter è un framework PHP pensato per gli sviluppatori che hanno bisogno di un toolkit semplice per creare applicazioni web complete. Adotta l’approccio MVC per favorire la semplicità. Con un ingombro minimo per un sistema di base che richiede solo alcune piccole librerie, la sua landing page predefinita supera tutte le piattaforme e i framework che abbiamo testato. Si può iniziare in piccolo e con una velocità incredibile e poi crescere in base alle proprie esigenze.
Benchmark di CodeIgniter
- Versione testata: CodeIgniter 4.3.6.
- URL testato:
/
- Dimensione: 17.776.993 byte.
- Risultati:
- PHP 8.1: 1120 richieste/s.
- PHP 8.2: 1180 richieste/s.
- PHP 8.3: 1684 richieste/s.
CodeIgniter, nella sua installazione predefinita, è veloce, molto veloce. I risultati dei benchmark di PHP 8.1 e 8.2 sono stati simili, con 8.2 leggermente più veloce di 8.1. PHP 8.3 è in grado di offrire un aumento delle prestazioni del 42%, rendendo l’aggiornamento un’altra scelta obbligata.
Craft CMS
Craft CMS è una piattaforma open-source progettata per creare siti web di marketing ed e-commerce. La filosofia di Craft è quella di modellare il CMS intorno ai vostri contenuti, non il contrario. Con un’interfaccia utente intuitiva e un backend completamente personalizzabile, Craft sfrutta la creazione di contenuti in modo che si possa dedicare più tempo alla produzione di contenuti e meno alla costruzione del sito.
Benchmark del CMS Craft
- Versione testata: Craft 4.4.16.1.
- URL testato:
/
- Dimensione: 6.594.000 byte.
- Risultati:
- PHP 8.1: 358 richieste/s.
- PHP 8.2: 354 richieste/s.
- PHP 8.3: 443 richieste/s.
Con PHP 8.1 e 8.2, Craft ha prestazioni analoghe, ma PHP 8.3 aumenta le prestazioni del sito di circa il 25%.
OpenCart
OpenCart è una piattaforma open-source per la gestione dell’e-commerce che può gestire uno o più negozi online da un unico backend. Grazie a un’interfaccia intuitiva, OpenCart facilita la navigazione agli amministratori del sito e agli utenti finali. L’idea è quella di creare un negozio online con il minimo sforzo e di personalizzarlo con le estensioni disponibili.
Benchmark di OpenCart
- Versione testata: OpenCart 4.0.2.2.
- URL testato:
/
- Dimensione: 33.014.000 byte.
- Risultati:
- PHP 8.1: 151 richieste/s.
- PHP 8.2: 154 richieste/s.
- PHP 8.3: 164 richieste/s.
OpenCart funziona senza problemi su PHP 8.1, leggermente più veloce su 8.2 e 8.3 gli dà una spinta notevole, per cui vi consigliamo di fare l’upgrade.
Statamic
Statamic è un CMS open-source costruito su Laravel. È un framework altamente flessibile che può memorizzare i suoi contenuti, i modelli, le risorse e le impostazioni in file anziché in un database, rendendo il controllo delle versioni un gioco da ragazzi. Si adatta alle vostre esigenze, permettendovi di costruire man mano. Potete collegarlo a un database se è lì che si trovano i vostri contenuti, e potete esportare un sito statico e semplicemente eliminare Laravel e PHP dal frontend.
Benchmark di Statamic
- Versione testata: Statamic 4.13.2.
- URL testato:
/
- Dimensione: 7.233.000 byte.
- Risultati:
- PHP 8.1: 58 req/s.
- PHP 8.2: 64 richieste/s.
- PHP 8.3: 72 req/s.
Le prestazioni di Statamic aumentano con ogni aggiornamento della versione minore di PHP. Con PHP 8.2, si guadagna circa il 10% di velocità rispetto alla 8.1. Con l’aggiornamento alla versione 8.3 la velocità aumenta di circa il 12%.
Abbiamo installato e testato Statamic con le sue configurazioni predefinite, che includono la modalità sviluppatore attiva. Se lo si esegue in modalità di produzione, ci si può aspettare un aumento delle prestazioni.
Typo3
Typo3 è un CMS open-source costruito in un sistema multilivello che fornisce un’API per accedere alle informazioni registrate in un database, come i contenuti, i permessi e gli accessi degli utenti, la modifica dei contenuti e la gestione dei file. Typo3 può essere esteso con plugin, moduli backend, skin e applicazioni di terze parti. È un sistema robusto e affidabile che può supportare anche siti di grandi dimensioni.
Benchmark di Typo3
- Versione testata: Typo3 12.4.4.
- URL testato:
/
- Dimensione: 2.085.000 byte.
- Risultati:
- PHP 8.1: 509 richieste/s.
- PHP 8.2: 461 richieste/s.
- PHP 8.3: 598 richieste/s.
Nei nostri test Typo3 si è comportato leggermente meglio con PHP 8.1 che con 8.2, il che è stato sorprendente. Ma l’aggiornamento alla versione 8.3 è la scelta migliore, viste le prestazioni eccezionali e la maggiore sicurezza.
La storia di PHP
Creato nel 1994 da Rasmus Lerdorf e rilasciato al pubblico nel 1995, PHP ha guadagnato popolarità per la sua capacità di comunicare con i database. Da allora, PHP ha gradualmente adottato modelli di programmazione orientati agli oggetti, evolvendosi in un linguaggio modulare maturo, flessibile e robusto, incentrato sulla riusabilità e sulla manutenibilità.
L’ampio ecosistema di librerie e framework di PHP ha contribuito alla sua popolarità e facilità di sviluppo. Il risultato è una maggiore sicurezza e funzionalità aggiuntive, che rendono PHP una scelta affidabile per la creazione di applicazioni web intelligenti, dinamiche e complesse.
PHP 7, rilasciato a dicembre 2015, ha introdotto significativi miglioramenti delle prestazioni, risultando la versione principale di PHP più veloce ed efficiente fino a quel momento. Inoltre, PHP 8.0, 8.1 e 8.2 hanno apportato molte nuove funzionalità e ottimizzazioni, nonché ulteriori miglioramenti alla coerenza e alle prestazioni.
PHP 8.3, rilasciato nel novembre del 2023, ha introdotto nuove funzioni, miglioramenti alle classi readonly
, aggiunte alla classe Randomizer
, recentemente aggiunta, rilevamento dello stack overflow, aumento delle prestazioni e molto altro ancora.
Statistiche di utilizzo di PHP
PHP rimane il linguaggio di programmazione predominante per le applicazioni web. È alla base di oltre il 76% dei siti che utilizzano lo scripting lato server:
Se analizziamo le posizioni di mercato tra i linguaggi di programmazione lato server, notiamo che JavaScript è popolare tra gli sviluppatori di applicazioni ad alto traffico, mentre PHP compare in un numero maggiore di siti.
Molti siti web solidi e ad alto traffico utilizzano PHP, tra cui:
- Facebook.com
- Microsoft.com
- Wikipedia.org
- WordPress.org
- Vimeo.com
- MSN.com
- WordPress.com
- Mozilla.org
Per la sua struttura robusta, la coerenza, la manutenzione e la flessibilità, PHP ha mantenuto la sua posizione di leader nel corso degli anni:
Sebbene gli sviluppatori di PHP apportino regolarmente aggiornamenti e miglioramenti, a volte gli utenti hanno paura di passare all’ultima versione. Questo può essere un errore. L’ultima versione stabile di qualsiasi applicazione è la più ricca e sicura da utilizzare. Quando è stata rilasciata la versione 8.0 di PHP, molti membri della comunità non erano convinti di voler effettuare l’aggiornamento, temendo incompatibilità con la versione precedente, la 7.4. Inoltre, molti provider di hosting web non hanno fatto lo sforzo di far accettare ai loro clienti le nuove versioni.
PHP 7.4 rimane la versione minore più adottata, presente nel 40% dei siti alimentati con PHP.
Se utilizzate una vecchia versione di PHP, prendete in considerazione l’idea di aggiornarla progressivamente, passando da una versione minore all’altra e apportando le modifiche necessarie nel frattempo. Questo processo è meno soggetto a errori. Per esempio, non cercate di passare dalla 7.4 direttamente alla 8.3. Aggiornate prima alla 8.0 e fate le vostre modifiche e i vostri test. Poi passate alla 8.1, modificate e testate. Poi passate alla 8.2 e infine alla 8.3.
Riepilogo
In poche parole, la maggior parte dei CMS e dei framework testati funzionano meglio con le versioni PHP più recenti. Quando è possibile, scegliete sempre di eseguire la vostra applicazione con le ultime versioni dello stack tecnologico che utilizzate.
PHP 8.3 offre risultati eccezionali. Oltre alle nuove funzionalità e agli aggiornamenti, la versione 8.3 si è dimostrata la più veloce nei nostri test, fornendo un incremento delle prestazioni fino al 52,20% ai CMS e ai framework testati.
Scoprite come migrare da PHP 8.2 a 8.3 con la guida ufficiale alla migrazione.
Quando si parla di prestazioni di siti web e applicazioni, tutto parte da un buon hosting. Non importa se investite molto nell’ottimizzazione delle applicazioni se è il server il vostro collo di bottiglia.
Non vale la pena pagare un hosting economico se non è in grado di gestire grandi picchi di traffico quando ne avete più bisogno. Non vale la pena avere un bel sito web se spesso non è comunque disponibile.
Con Kinsta potete ospitare e gestire tutti i vostri progetti su un’unica piattaforma affidabile e scalabile:
- WordPress e WooCommerce: Kinsta offre un hosting WordPress gestito di prim’ordine. Tutti i piani includono un ambiente di staging, reindirizzamenti, backup automatici, SSL, cambio di versione PHP, WP-CLI, SSH, Git, strumento di monitoraggio delle prestazioni, ionCube loader e clonazione con un solo clic. Avrete a disposizione risorse server scalabili, sicurezza solida e assistenza 24 ore su 24, 7 giorni su 7.
- Applicazioni e database: distribuite direttamente dai vostri repository GitHub, Bitbucket o GitLab senza strumenti di sviluppo esterni. Archiviate i dati su storage persistente o su database collegati internamente senza limiti di numero di righe, limiti di query e senza pagare il traffico interno. Accedete alla vostra applicazione tramite terminale web. Eseguite un numero illimitato di Cron job. Il tutto alimentato da Kubernetes con scaling orizzontale automatico opzionale.
- Siti statici: create voi stessi un sito statico o Jamstack o utilizzate un generatore di siti statici. Lasciate a noi la gestione del processo di build e il deploy direttamente sull’edge. Avrete la massima velocità e sicurezza globale. E con Kinsta è gratis al 100%.
Kinsta distribuisce i vostri progetti su un’infrastruttura costruita sulla rete Premium Tier di Google Cloud Platform e sulle macchine più veloci. Siamo conformi a SOC 2. Prendiamo sul serio la vostra sicurezza grazie alla tecnologia dei container isolati, a due potenti firewall e alla protezione DDoS di Cloudflare avanzata. Inoltre, potete integrare app o automatizzare flussi di lavoro con l’API di Kinsta.
Che aspettate? Unitevi a noi subito!
Lascia un commento