Quanti domini su un singolo server Apache?


9

Sto ospitando circa 300 domini per i miei clienti su un singolo server Apache. Tutti non hanno molto traffico, quindi il carico del server non è un problema.

Teoricamente non ci dovrebbero essere limiti al numero di domini a traffico così basso che posso avere sul server, ma sono preoccupato che se ho troppi domini sul server, l'elenco puro di domini da controllare per ogni richiesta in arrivo rallenterà Apache giù.

Esiste una regola empirica per quanto tempo può essere una configurazione di Apache e quanti domini diversi può gestire senza problemi? 500 sono ok? 5000?

Chiarimento: non sto chiedendo quanto traffico può gestire un server. So che questo server specifico può gestire almeno il doppio della quantità del suo traffico attuale. Voglio sapere se il numero di domini è un fattore critico o meno.

Risposte:


9

Ho visto server con letteralmente migliaia di domini in esecuzione senza problemi. Le prestazioni non si riducono in modo significativo solo dal numero di siti che stai gestendo.

È il numero complessivo di richieste e la quantità di CPU (e altre risorse come larghezza di banda, I / O del disco, chiamate al database ecc.) Richieste per richiesta che influenzano la capacità di risposta del server.


+1: la quantità di tempo della CPU impiegata per eseguire anche una scansione seriale di un array di 10.000 voci memorizzato nella RAM è trascurabile.
Mark Henderson,

4

Non esiste una regola empirica magica per questo tipo di cose. È tutto basato su specifiche hardware e messa a punto del software. Non hai intenzione di aggiungere un nuovo sito e quindi vedere il tuo server ribaltarsi e soffocare a morte (a meno che non sia un sito di utilizzo molto elevato subito e non sei pronto per questo). Come per la maggior parte delle cose, è necessario monitorare le prestazioni del server e quando si inizia a vederlo rallentare, valutare a quel punto e vedere gli aggiornamenti hardware o un nuovo server per gestire il nuovo hosting di dominio. Quindi, per rispondere al tuo punto di chiarimento, non si tratta del numero di domini, ma di ciò che ciascun dominio porta individualmente come carico sul server. Nessun numero magico.


Come specifica una risposta può essere a questa domanda ...
Nandhini Anand,

3
Gene, per sostenere ciò che dice Holocryptic, immagina il carico di lavoro generato da 500 (o 5000) siti Web con una o due pagine statiche al loro interno. Ora immagina il carico di lavoro generato se si ospita solo un sito Web. Ma cosa succede se quel sito web sembra essere google.com o facebook.com - il numero di domini non è il problema, è il lavoro che quei domini stanno chiedendo al server di fare.
Rob Moir,

@Robert Moir: non sto chiedendo del traffico che il server può gestire. Voglio sapere se il numero di domini o la lunghezza del file di configurazione è un fattore.
Gene Vincent,

3

È possibile trovare http://httpd.apache.org/docs/2.2/vhosts/details.html#hostmatching informativo. Apache utilizza una tabella hash per gestire VHosts che non sono mappati su *: 80, quindi scorre su un elenco collegato di tutti i VHosts assegnati a quella porta IP: per trovare il Server corrispondente (Nome | Alias). Probabilmente dovresti ospitare milioni di domini prima che il processo diventi notevolmente costoso.

Potresti anche dare un'occhiata a http://httpd.apache.org/docs/2.2/vhosts/mass.html e confrontarlo con il tuo attuale approccio; una volta che hai abbastanza VHosts che l'attraversamento dell'elenco collegato impiega più tempo di un lstat (), VirtualDocumentRootfinirà per essere più veloce dei VHosts specificati individualmente.


Sto usando host virtuali basati sul nome e sembra che Apache usi solo la tabella hash per host virtuali basati su IP, risultando in una ricerca lineare.
Gene Vincent,

Corretta. Scusate se la mia risposta non è stata chiara come avrebbe potuto essere su questo punto: la tabella hash viene utilizzata per selezionare quale elenco collegato su cui scorrere, non (direttamente) per selezionare quale VHost dovrebbe servire una determinata richiesta (tranne quando non è in esecuzione NameVirtualHost).
BMDan,

1

Ho alcuni server VPS che ospitano circa 8000+ domini. Il server funziona correttamente, il carico medio è sempre a livello 0.xx. Immagino che possa gestire di più senza problemi. Occorrerà più tempo per ricompilare Apache quando si aggiunge o si elimina un dominio. Inoltre, il file httpd.conf è abbastanza grande, circa 60M. È più sicuro limitare il numero di domini a circa 5000.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.