Domanda

Credo che questa domanda non ha a che fare con la programmazione in generale, ma tuttavia le risposte potrebbero essere interessanti ad altri sviluppatori web.

Mi chiedevo come stimare i requisiti minimi per avere un sito web veloce. Ovviamente ci sono alcuni fatti che devono essere considerati come il numero previsto di visitatori, il numero ottenuto di clic al secondo e così via ... in esecuzione anche servizi come web server (Apache / lighttpd) o server di posta (Exim, sendmail,. ..) potrebbe finire in diverse esigenze.

Forse si conosce un buon sito web o può dare alcune spiegazioni su come stimare la configurazione del server necessaria da tali informazioni?

È stato utile?

Soluzione

Questa è senza dubbio più arte che scienza.

Quello che bisogna ricordare è che, come molte cose nella programmazione e IT, il vostro sito sarà lento come il collegamento più lento della catena, il che significa che si avrà qualche collo di bottiglia, come la larghezza di banda, i server Web, disco I / O , la memoria, i database, firewall, ecc che limiterà la velocità del vostro sito web.

sintonia e crescere il vostro sito Web coinvolgerà identificare questi problemi, come si cresce e rivolgendosi a loro. A un certo punto potrebbe essere necessario aggiungere più RAM, un altro potrebbe essere necessario un altro CPU e così via. Altre volte l'aggiunta più memoria potrebbe essere inutile perché la memoria non è il vostro problema.

Allo stesso modo, la mancanza di una certa risorsa può essere mascherato, come la mancanza di memoria può essere mascherato da disco intensivo di I / O come i vostri swap di sistema (guasti pagina) costantemente ma del disco I / O non sono io il problema.

Quindi, che cosa fare?

La prima cosa è è necessario identificare (o fare una congettura ragionevole) di ciò che un utente tipico farà e quanto lo faranno. Idealmente si sarà in grado di modellare il 100 o 1000 o comunque molti utenti è necessario con software come JMeter per poi avere un'idea di come le vostre bilance sito web, quanta banda sta per essere necessari e così via. Modellando 100, 500, 1000, 2000 utenti si spera in grado di vedere come linearmente il tuo sito Web scale.

Si possono trovare che il sostegno 1000 utenti richiede 1 giga di RAM, ma 2000 richiede 4 concerti: questo è un esempio di scalabilità non lineare che expoes un problema avrete scalare il Web site in su. E questo è il genere di cosa per essere rivelata dal test delle prestazioni.

Onestamente, però, l'hardware è così a buon mercato in questi giorni che è raramente un problema, tranne per il più grande e più popolare dei siti ($ 10k si possono acquistare 1 o addirittura 2 server con 16G di memoria RAM e 4-8 core ciascuno). Condivisi e VPS hosting sono una storia diversa, perché in genere è da pagare per quanto la memoria, la larghezza di banda e spazio su disco necessario. Per fortuna questo tipo di soluzioni tendono a alow di aggiornare abbastanza facilmente (almeno fino ad un punto in cui più volte si deve andare dedica hosting).

È possibile effettuare alcune stime sporca all'inizio di un progetto facendo quello che chiamano "retro della busta" stima. query chiave Run dire 100 volte e lavorare fuori tempo di CPU hwo molto di cui hanno bisogno, ha colpito una pagina deriso fino a 100 volte e scoprite quanto la larghezza di banda che genera e così via. Queste stime approssimative combinati con congetture su come gli utenti utilizzano il sito vi darà un campo da baseball (si spera entro un fattore 2-3) di quello che vi serve.

Altri suggerimenti

Hai già accennato circa il numero di utenti, server, ecc Qui ci sono alcuni più da considerare.

  1. server cluster se il traffico è elevato
  2. ubicazione fisica del server: Trovare il bersaglio di pubblico per il tuo sito e meglio avere il server in quel paese.
  3. Piano di Disaster Recovery. Avere un sito web più veloce è buona e con un processo di recupero più veloce è anche molto buona.
  4. Scegli la migliore tecnologia e implementare nuove tecnologie come AJAX e ridurre richiesta del server dove mai possibile.

Sarà aggiungere di più se salta fuori qualcosa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top