PHP

PHP (Hypertext Preprocessor) è un linguaggio di scripting open-source particolarmente adatto allo sviluppo web. Funziona sul lato server, ovvero elabora il codice sul server web prima di inviarlo al client (browser). WordPress è costruito su PHP; pertanto, è essenziale per i siti WordPress. Il PHP permette al vostro sito WordPress di:

  • Generare contenuti dinamici e visualizzarli su un sito web in tempo reale.
  • Interagire con il vostro database, consentendogli di recuperare e memorizzare i dati.
  • Gestire i moduli ed elaborare gli input degli utenti, rendendo i siti WordPress più interattivi.
  • Utilizzare temi e plugin per estendere le funzionalità principali di WordPress.
  • Migliorare le prestazioni assicurando che gran parte del lavoro pesante avvenga sul server web prima che il contenuto raggiunga il browser dell’utente.

Come viene elaborato il PHP

Quando un visitatore arriva su una pagina non memorizzata nella cache o esegue un’azione su una pagina (ad esempio, aggiungendo qualcosa al carrello, inviando un modulo, ecc:

  1. Il server web (Nginx in Kinsta) riceve la richiesta.
  2. Nginx passa la richiesta a PHP, che la assegna a un thread PHP disponibile.
  3. Il thread PHP esegue lo script PHP (ad esempio, recuperando dati dal database o elaborando moduli).
  4. Durante l’elaborazione, il thread PHP utilizza una parte della memoria del server fino al limite di memoria PHP impostato in Kinsta.
  5. Se ci sono più visitatori contemporanei, ogni richiesta viene assegnata a un thread PHP diverso. Se tutti i thread sono occupati, le richieste aggiuntive attendono finché non si libera un thread.
  6. Il PHP genera quindi una pagina HTML utilizzando i file PHP del vostro tema (e gli eventuali file dei plugin).
  7. PHP restituisce la pagina HTML renderizzata al server web.
  8. La pagina viene servita al visitatore.

Se il vostro sito non utilizza la cache o non è ottimizzato, i thread PHP possono essere occupati più a lungo, il che può degradare le prestazioni e causare timeout o errori 503 e 504 quando i visitatori accedono al vostro sito. Per informazioni su come controllare le prestazioni di PHP e su come ottimizzare i thread PHP, consultate la sezione Prestazioni di PHP.

I thread PHP

I thread PHP (precedentemente noti come PHP worker) sono processi PHP individuali responsabili della gestione delle richieste in arrivo al vostro sito web. Ogni thread elabora una richiesta alla volta, il che significa che se avete due thread, solo due richieste possono essere elaborate contemporaneamente.

Una volta che un thread PHP termina l’elaborazione di una richiesta (ad esempio, il rendering di una pagina o l’acquisizione di dati da un database), diventa libero di gestire la richiesta successiva.

I thread PHP entrano in gioco quando un sito non ha o non può avere in cache la maggior parte dei suoi contenuti. Più un sito web è dinamico, più thread PHP saranno necessari. I contenuti in cache non richiedono thread PHP; sono necessari solo quando il sito deve interrogare il database per ottenere o modificare informazioni. Un sito ottimizzato gestisce le richieste in modo rapido, liberando i thread PHP per la richiesta successiva in coda.

Per informazioni su come ottimizzare i thread PHP, consultate la sezione Prestazioni PHP.

Piani Kinsta e thread PHP

Le tabelle seguenti mostrano il pool PHP predefinito, il numero di thread e la memoria per thread inclusi di default in ogni piano di Kinsta:

PianoDimensione del poolNumero di threadMemoria per thread
Single 35k512MB2256MB
Single 65k1GB4256MB
Single 125k1.5GB6256MB
Single 315k1.5GB6256MB
Single 500k2GB8256MB
Single 750k2GB8256MB
WP 2512MB2256MB
WP 51GB4256MB
WP 101GB4256MB
WP 201.5GB6256MB
WP 401.5GB6256MB

Potete modificare il numero di thread PHP per ogni sito da Siti WordPress > nome sito > Info > Prestazioni PHP > Modifica.

I seguenti piani non hanno attualmente accesso alla funzione prestazioni PHP o ai pool PHP. Tuttavia, includono i seguenti numeri di thread PHP per impostazione predefinita:

PianoThread PHP per sito
Single 1.25M8
Single 1.9M10
Single 2,5M12
Single 3,15M14
WP 608
WP 8010
WP 12012
WP 15014
Agency 206
Agency 406
Agency 608

Limite di memoria PHP

Il limite di memoria PHP definisce la quantità massima di memoria (RAM) che ogni thread PHP può utilizzare durante l’elaborazione di una richiesta.

Questo limite è fondamentale perché gli script PHP (soprattutto in WordPress) devono spesso gestire attività che richiedono molta memoria, come query a database di grandi dimensioni, upload di file multimediali o calcoli complessi.

Se uno script supera il limite di memoria impostato, viene segnalato un errore (ad esempio, “Dimensioni della memoria consentite esaurite”). In questo modo si evita che uno script consumi troppe risorse del server.

Piani di Kinsta e memoria PHP

Il limite di memoria predefinito di Kinsta è di 256MB per i piani Single 35k, 65k, 125k, 315k, 500k e 750k e WP 2, 5, 10, 20 e 40, che è più che sufficiente per la maggior parte dei plugin e dei siti WordPress. I piani Single 1.25M, 1.9M, 2.5M e 3.15M, WP 60, 80, 120 e 150 e Agency 20, 40 e 60 hanno un limite di memoria di 512MB. Questo limite esiste per evitare che gli script PHP consumino troppa memoria. Se si imposta un limite troppo alto, uno script mal configurato o non funzionante può causare seri problemi consumando troppa memoria.

È possibile modificare il limite di memoria PHP di un sito all’interno dei siti WordPress > nome del sito > Info > Prestazioni PHP > Modifica.

Interazione tra thread PHP e memoria

Il numero di thread PHP non deve essere confuso con il limite di memoria PHP. I thread PHP sono singoli processi PHP che gestiscono le richieste web in arrivo, mentre il limite di memoria PHP specifica la quantità massima di memoria (RAM) che un singolo script PHP può utilizzare durante l’esecuzione.

I thread PHP gestiscono la concorrenza elaborando più richieste contemporaneamente, mentre il limite di memoria PHP gestisce l’allocazione delle risorse limitando l’uso della memoria dei singoli script. In questo modo si evita che un singolo script utilizzi tutta la memoria disponibile sul server.

I limiti di memoria di PHP sono importanti per gli script che richiedono molta memoria, come quelli che eseguono query di database di grandi dimensioni, gestiscono il caricamento di file di grandi dimensioni o eseguono calcoli complessi. Se riscontrate errori di limite di memoria sul vostro sito, aumentare il numero di thread PHP non risolverà il problema. Al contrario, dovresti aumentare la memoria per thread all’interno dei siti WordPress > nome del sito > Info > Prestazioni PHP > Modifica.

Interazione tra thread PHP, CPU e RAM

Quando si aggiungono thread PHP, bisogna tenere conto delle risorse CPU e RAM. Se aumentate il numero di thread PHP, ma il server ha bisogno di più CPU e RAM per supportare tali thread, si creerà un collo di bottiglia perché le richieste non saranno gestite in modo efficiente.

In Kinsta, ogni container LXD personalizzato è configurato con 12 CPU e 8 GB di RAM. Inoltre, utilizzando macchine virtuali C2 e C3D ottimizzate per il calcolo e dotate delle CPU più veloci di Google Cloud, aiutiamo i thread PHP del vostro sito a funzionare in modo più efficiente. La nostra infrastruttura scalabile garantisce che i thread PHP del vostro sito WordPress dispongano di risorse CPU sufficienti per operare al massimo delle prestazioni.

Valori PHP predefiniti

In qualità di servizio WordPress gestito, Kinsta ha configurato le impostazioni PHP ottimali per funzionare al meglio con i siti WordPress. Se avete esigenze specifiche di PHP, contattate il nostro team di supporto per discutere delle vostra necessità.

Kinsta offre PHP 8.1, 8.2 e 8.3. Queste sono le impostazioni predefinite di PHP:

  • memory_limit = 256M
  • post_max_size = 128M
  • upload_max_filesize = 128M
  • max_input_vars = 10000
  • max_execution_time = 300
Questo articolo ti è stato utile?