sviluppo-web-qa.it

Quante richieste dovrebbe essere in grado di gestire il mio server web?

Non entrare in dettagli sulle specifiche poiché so che non esiste una risposta reale per questo. Ma oggi ho fatto i test di carico con il comando ab in Apache.

E ho raggiunto il numero di 70 richieste al secondo (1000 richieste con 100 utenti simultanei), su una pagina che sta caricando da 4 diverse tabelle DB e che sta manipolando i dati. Quindi è una pagina abbastanza pesante.

Il server non è utilizzato per nient'altro per ora e il carico su di esso sono solo io, poiché è in fase di sviluppo. Ma l'applicazione verrà utilizzata quotidianamente da molti utenti.

Ma è abbastanza? O dovrei anche preoccuparmi (fintanto che è X richieste al secondo)

Sto pensando che non dovrei preoccuparmi, ma vorrei alcuni consigli su questo.

41
Ólafur Waage

70 richieste al secondo si basano su una tariffa oraria di 252.000 rendering di pagina/ora.

Se supponi che la sessione di navigazione media per il tuo sito abbia una profondità di 10 pagine, puoi supportare 25.000 unità/ora.

Probabilmente dovresti controllare questi numeri con il conteggio previsto dei visitatori, che dovrebbe essere disponibile dalla gente sul lato aziendale.

Molti dei siti su cui lavoro vedono circa il 50% del loro traffico giornaliero in un periodo di picco di circa 3 ore ogni giorno. Se questo è il caso del tuo sito (dipende dal tipo di contenuto che fornisci e dal pubblico), allora dovresti essere in grado di supportare un numero unico giornaliero di visite di circa 150.000.

Questi sono numeri abbastanza buoni; Penso che dovresti stare bene. È saggio esaminare ora la cache del codice operativo e l'ottimizzazione del database, ma ricorda: l'ottimizzazione prematura è la radice di tutto il male. Monitora il sito, cerca hotspot e attendi che il traffico cresca prima di passare attraverso un costoso sforzo di ottimizzazione per un problema che potresti non avere.

45
Tim Howland

Ho usato 2 strumenti per guardare le prestazioni dei miei server Apache in passato.

Uno è munin, che rappresenta graficamente ogni genere di cose tra cui il numero di istanze Apache, il numero di connessioni, la memoria disponibile, l'utilizzo del processore , ecc. e mi aiuta a determinare quando mi sto avvicinando a una zona di pericolo e perché.

La seconda è semplicemente la pagina di stato del server Apache ( http: // your_server/server-status? Refresh = 1 ) che mi consente di vedere lo stato di ogni connessione, insieme a quante connessioni gratuite sono disponibili in un determinato momento.

6
Brent

Ti suggerirei di preoccuparti solo se pensi che la tua app sarà molto occupata quando raggiungerà il suolo. È probabile che la pagina in questione venga colpita così duramente? Più forte? Di meno? Se non ne hai idea, sospetterei che è improbabile che si tratti di un problema in precedenza. Se è la tua pagina più lenta, saprai dove cercare se devi ottimizzare il sistema in un secondo momento.

Ci sono anche molte cose che puoi fare per ottimizzare la maggior parte dei server web e dei motori di database per ottenere maggiori prestazioni.

1
acrosman

Una volta messo il tuo sito in diretta, puoi anche guardare mod_top 1 che ti darà una vista in tempo reale del carico corrente su Apache. Non l'ho installato da solo, ma sembra sicuramente avere più informazioni e una migliore ripartizione del carico rispetto allo stato del server Apache standard.

0
George Hazlewood

In un commento affermi che il tuo server può gestire 2.900 richieste al secondo su una pagina vuota. Ciò indica abbastanza fortemente che non si tratta del server web stesso: è l'elaborazione.

Se stai usando PHP, prendi in considerazione un cacher opcode come APC . Se il DB è un collo di bottiglia, memcached ti aiuterà anche.

0
ceejayoz