Cosa sono i PHP Worker e perché dovresti preoccuparti?
Pubblicato: 2022-06-30Hai mai navigato nel sito Web della tua caffetteria preferita e mentre esci con quel nuovo ordine di caffè, finisci per ricevere un errore 504 dopo un ritardo?
O forse stavi navigando sul tuo sito web sportivo preferito e mentre provi a caricare la pagina successiva, ci vuole un po' per caricarsi e ritorna con un errore di timeout?
Queste situazioni sono frustranti e non sono ciò che ci aspettiamo quando guardiamo un sito. In entrambi i casi, la causa potrebbe essere la mancanza di un numero sufficiente di PHP worker allocati a un sito. Senza un numero sufficiente di PHP worker, un sito non può elaborare tutte le richieste del sito che arrivano se ce n'è un numero maggiore. Non è una buona situazione, poiché la velocità del sito è incredibilmente importante per convertire i visitatori in lead di vendita e clienti.
Che cos'è un PHP Worker?
Che cos'è un lavoratore PHP? I PHP worker creano pagine e gestiscono le richieste che richiedono l'elaborazione di back-end sul tuo sito. I PHP worker sono direttamente responsabili della generazione di pagine HTML per i visitatori del tuo sito. Per questo motivo, determinano quante richieste non memorizzate nella cache un sito Web può elaborare in un dato momento.
Di solito si tratta di attività attive come un controllo dell'inventario su un articolo specifico o potrebbe essere qualcosa di complesso come visualizzare ed elencare tutti gli ordini precedenti per un cliente. Quando un PHP worker viene avviato, rimane persistente finché i processi non vengono completati o vengono soddisfatte determinate condizioni.
Pensa ai lavoratori PHP come a una fila alla cassa in un negozio di alimentari in cui ogni articolo che deve essere scansionato è un processo PHP.
Se hai solo un lavoratore PHP (una linea di pagamento), tutto deve passare attraverso quell'unica corsia di pagamento e il cassiere può lavorare solo con un ordine alla volta. I PHP worker possono limitare il numero di transazioni simultanee o simultanee su un sito. Come accennato in precedenza, se hai solo quattro PHP worker (quattro righe di checkout) il sito può elaborare solo quattro transazioni contemporaneamente.
La guida essenziale del 2022 ai plugin di WordPress >>
Tuttavia, ciò non significa che il quinto cliente (processo PHP) o oltre non venga elaborato. I processi PHP vengono inseriti in una coda per il lavoratore, il che significa che elabora la prima richiesta in linea, quindi passa al processo PHP successivo nella coda. In altre parole, si forma una lunga fila e le persone iniziano ad aspettare.
Fortunatamente, i lavoratori PHP elaborano le informazioni più velocemente dei cassieri dei negozi di alimentari. Funzionano molto rapidamente e possono cancellare molti e la maggior parte dei processi in pochi millisecondi. Avendo solo pochi PHP worker aggiuntivi, puoi avere molti più processi simultanei che possono essere eseguiti contemporaneamente, il che significa che più ordini dei clienti possono essere elaborati contemporaneamente.
Cosa succede quando hai troppo pochi PHP Worker per sito
Diciamo che hai solo due PHP worker su un sito e hai diversi plugin e un tema pesante. Questi due PHP worker verranno costantemente utilizzati solo per elaborare plug-in e processi a tema, lasciando una coda da creare immediatamente per le richieste di nuove pagine da parte dei visitatori del tuo sito.
Se gestisci un sito di e-commerce in aggiunta a questo, aumenterà solo l'importo della coda. Proprio come i clienti che aspettano in fila, alcuni processi PHP abbandoneranno la linea. Processi che non vengono scritti per abbandonare la linea, o timeout, e rimarranno in attesa. Quindi, inizieranno a caricare molto più in alto le risorse del server. È come se la linea della cassa si stesse ora avvolgendo attorno all'isolato!
I processi PHP su un sito Web WordPress possono essere semplici come l'invio di un modulo di contatto o una richiesta di geolocalizzazione di un visitatore in base al suo IP o codice postale.
Per i siti Web di e-commerce, questo può sembrare leggermente diverso. Articoli come i nuovi ordini in elaborazione, i carrelli e gli accessi dei clienti utilizzeranno tutti i PHP worker. I prodotti o le descrizioni verranno solitamente memorizzati nella cache in modo che generalmente non richieda un processo PHP per la visualizzazione. Avere solo da tre a cinque lavoratori PHP significa che puoi avere solo quel numero di transazioni simultanee sul sito Web e che i lavoratori PHP elaboreranno le richieste nell'ordine in cui sono state attivate (proprio come una linea di acquisto).
Come alleggerire il carico per i tuoi lavoratori PHP
Un'area problematica comune da cui partire per i lavoratori PHP è avere troppi plugin e temi pesanti. In genere puoi aiutare ad alleviare i problemi causati da un sito Web gonfio con questi suggerimenti:
- Aggiungi la memorizzazione nella cache del sito con un plug-in
- Riduci le chiamate esterne verso siti remoti
- Ottimizzazione generale del sito
L'ottimizzazione del sito può complicarsi, soprattutto con i siti che registrano un traffico più intenso che richiede maggiore attenzione ai dettagli. In genere, più grande è il sito, più efficiente deve essere il sito nel modo in cui richiede stili, prodotti, ordini e clienti. In questo modo, utilizzi meno i PHP worker per le funzionalità generali del sito e i PHP worker possono elaborare ciò che conta, il tuo traffico, in modo efficace.
I piani Nexcess includono un numero sufficiente di utenti simultanei per consentire anche al più grande dei siti di gestire il traffico.
Con Nexcess, hai già 20 utenti simultanei come parte di un piano XS. Questo aumenta con incrementi di 20 man mano che si passa al piano XXL (che ne ha 120).
Guida per principianti all'ottimizzazione delle prestazioni di WordPress >>
Altre piattaforme di applicazioni gestite offrono da due a quattro PHP worker nelle offerte introduttive. Nexcess Managed WordPress, WooCommerce e Magento hosting hanno anche la memorizzazione nella cache lato server integrata che aiuta a ridurre al minimo l'uso di PHP worker per elaborare il contenuto statico, consentendo ai PHP worker di elaborare le richieste delle persone che contano di più: i tuoi clienti.
Mantieni un sito più veloce con più lavoratori PHP
Tuttavia, i lavoratori PHP possono gestire migliaia di processi ciascuno; entrano in gioco molti fattori, tra cui:
- Quante chiamate esterne stanno facendo?
- Quanti plugin competono con le richieste al database?
Inoltre, l'aggiunta di PHP worker a un sito aumenterà anche l'allocazione delle risorse utilizzate dal server. Più processi PHP sono in esecuzione, più allocazioni di RAM e CPU saranno necessarie, creando così carichi più pesanti sul server e avere la massima ottimizzazione possibile può ridurre il carico del server. I PHP worker sono fondamentali, ma non sono una soluzione magica e valida per tutti.
Più plugin (anche quelli inattivi), più PHP worker vengono utilizzati per elaborare richieste non statiche. Lo stesso vale per i temi molto presenti.
Per questo motivo, è sempre una buona idea utilizzare la memorizzazione nella cache e una rete di distribuzione dei contenuti (CDN) per ridurre il carico di attività per i lavoratori PHP. Ciò ottimizzerà il tuo sito per elaborare le richieste dei clienti nel modo più rapido possibile.
Meglio è integrato con l'hosting completamente gestito da Nexcess
Il miglioramento delle prestazioni del tuo sito web inizia con un hosting di alta qualità. Con l'hosting WordPress e WooCommerce completamente gestito di Nexcess, ottieni:
- Ridimensionamento automatico per mantenere il tuo sito veloce durante i picchi di traffico.
- Immagini ottimizzate automaticamente per tempi di caricamento rapidi.
- Tempi di caricamento fulminei grazie alla nostra CDN integrata.
- E altro ancora!
Scopri perché gli utenti ci hanno assegnato una valutazione di 4,6 stelle su 5 su Trustpilot. Sperimenta l'hosting ottimizzato per il tuo sito. Dai un'occhiata ai nostri piani per iniziare oggi.