Domanda

Sono dopo alcune riflessioni su come la gente va sul calcolo del carico del database ai fini della pianificazione della capacità. Non ho messo questo sul server Fault perché la questione è legata alla misura solo l'applicazione anziché definire l'infrastruttura. In questo caso, compito di qualcun altro di cui preoccuparsi quel po '!

Sono consapevole del fatto ci sono un numero enorme di variabili qui, ma io sono interessato a come gli altri fare per ottenere un senso di ordine di grandezza approssimativa. Questo è semplicemente un esercizio di costing presto in un ciclo di vita del progetto prima di qualsiasi progetto specifico è stato creato in modo da non un sacco di informazioni per andare avanti in questa fase.

La domanda che ho avuto proposto dalla gente delle infrastrutture è “quanti utenti simultanei”. Non dobbiamo discutere la logica di cercare solo questa figura; è proprio quello che è stato chiesto in questo caso!

Questo è un front-end web, back-end di SQL Server con un pubblico facilmente quantificabile abbastanza fisso. Inchiodare questo giù per richieste simultanee reali in maniera molto approssimativa, il modo di vedere, si tratta di unità sempre più granulari di misura:

  1. pubblico totale
  2. sessioni simultanee
  3. richieste simultanee
  4. query simultanea DB

Questo non tiene conto di fattori come la web app caching, richieste di pagine parziali, volume record ecc e c'è qualche licenza creativa necessaria per definire la frequenza di richieste per utente e il numero di DB successi e l'esecuzione di tempo, ma sembra una ragionevole punto di partenza. Sono anche consapevole della necessità di scala per carico di punta, ma questo è qualcosa d'altro che può essere collegato a delle sessioni simultanee, se necessario.

Questo è certamente molto semplice e sono sicuro che ci sia una guida più completa là fuori. Se chiunque può condividere il loro approccio a questo esercizio o indicarlo verso altre risorse che potrebbero rendere il processo un po 'meno ad hoc, che sarebbe grande!

È stato utile?

Soluzione

Cercherò, ma ovviamente senza conoscere i dettagli è abbastanza difficile dare un parere preciso.

Prima di tutto, i ragazzi delle infrastrutture potrebbe aver fatto questa domanda dal punto di vista delle licenze (SQL Server può essere concesso in licenza per utente o per CPU)

Ora torniamo alla tua domanda. "Pubblico totale" è importante se si può prevedere / lavoro fuori questo numero. Questo può dare il caso peggiore in cui tutti gli utenti hanno colpito il database in una sola volta (per esempio 9:00 quando i registri tutti in).

Se si memorizzano le informazioni di sessione si sarebbe probabilmente avere almeno 2 collegamenti per utente (1 seduta + 1 DB principale). Ma questo numero può essere (a volte sensibilmente) ridotto di pool di connessioni (dipende da come ci si connette al database). Utilizzare uno scenario peggiore -. 50 sistema di collegamento + 2 * numero di utenti

richieste simultanee / query dipendono dalla natura della richiesta. Hai bisogno di ulteriori dettagli. Più richieste simultanee (a vostro front-end) non traduce necessariamente a più richieste sul back-end.

Dopo aver detto tutto questo -. Per le finalità che costano è necessario concentrarsi su un quadro più ampio

  1. licenza server SQL (Se la memoria non m'inganna) avrà un costo di ~ 128K AUD (dual Xeon). Hot / warm standby? Il doppio del costo.

  2. di memorizzazione su disco - quanta memoria avete bisogno? I dischi sono relativamente a buon mercato, ma se avete intenzione di utilizzare SAN il costo potrebbe diventare evidente. Inoltre -. I più dischi al meglio dal punto di vista delle prestazioni

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