Mi piacerebbe sapere cos'è un server Web filettato?
Ho eseguito molte ricerche ma non riesco a trovare nulla che dia una chiara spiegazione o definizione; forse qualcuno può illuminarmi.
Mi piacerebbe sapere cos'è un server Web filettato?
Ho eseguito molte ricerche ma non riesco a trovare nulla che dia una chiara spiegazione o definizione; forse qualcuno può illuminarmi.
Risposte:
Un server Web filettato è uno che gestisce ogni richiesta con un nuovo thread, invece di gestire ogni richiesta con un nuovo processo.
Il multi-threading è più complesso della concorrenza con i processi, quindi c'è un rischio maggiore di arresto anomalo del server Web se uno dei suoi moduli non funziona correttamente. Inoltre, se si blocca, è più probabile che blocchi tutti i thread (ad esempio tutte le richieste gestite in quel momento). Tuttavia, i server multi-thread consumano meno memoria e generalmente sono più veloci.
Ecco un punto di riferimento che confronta i due moduli (reciprocamente esclusivi) di apache: prefork e worker.
http://www.camelrichard.org/apache-prefork-vs-worker
e le loro definizioni ...
È un server web che ha una coda per le richieste HTTP in arrivo e un pool di thread per soddisfarli. Il server toglie la prima richiesta dalla coda e assegna un thread dal pool per eseguire il lavoro. Le richieste vengono allineate in coda quando arrivano più velocemente di quanto i thread possano elaborarle o se il pool esaurisce i thread.