Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

PHP come modulo di NGINX per migliorare le prestazioni?

Link copiato negli appunti

Nei giorni scorsi gli sviluppatori del NGINX, una realtà ormai affermata nel comparto Web server, hanno pubblicato un intervento dedicato alla nuova feature denominata thread pools; grazie ad essa potrebbe essere possibile ottenere incrementi del livello di performances fino a 9 volte rispetto a quelli attuali. A partire da tale spunto la community dei developers di PHP si sarebbe chiesta se lo sviluppo di una nuova SAPI per il funzionamento di PHP come modulo di NGINX potesse essere considerata o meno una buona idea.

Sostanzialmente parliamo di una Server Application Programming Interface destinata ad operare con un sistema per la gestione dei richieste basato sui threads, questi ultimi verrebbero poi raggruppati da NGINX in pools nativi associati ad un processo specifico del Web server; (a grandi linee) il tutto avverrebbe quindi in modo non particolarmente dissimile da quanto già accade con il mod_php di Apache.

Diversamente da quanto ci si potrebbe aspettare, le voci a sfavore dell'introduzione di questa nuova SAPI sarebbero state numerose e, almeno all'apparenza paradossalmente, legate ad un discorso riguardante le prestazioni. In pratica, l'utilizzo di PHP come modulo di NGINX potrebbe trovare un limite nell'impiego di codice thread-safe con conseguente blocco per l'accesso simultaneo dei threads alle variabili globali.

Nel caso specifico ci si riferisce alle variabili globali di C, il linguaggio alla base di PHP; nell'architettura di PHP il meccanismo del thread-safe non è stato aggiunto in previsione di una limitata disponibilità di risorse e quindi per scongiurare l'eventualità di overhead, ma per motivi di opportunità, cioè per evitare che due threads differenti potessero modificare contemporaneamente la medesima globale.

Sulla base di quanto detto, PHP potrebbe non ricavare alcun vantaggio dal thread pools di NGINX, anche se chiaramente tale conclusione si baserebbe per ora soltanto su un ragionamento teorico effettuato in assenza di test. L'impressione è che, dopo i miglioramenti a livello di performance ottenuti tramite PHPNG in PHP 7, gli sviluppatori non abbiano alcuna intenzione di pregiudicare il lavoro svolto fini ad oggi.

Via PHPClasses

Ti consigliamo anche