Aumento della scalabilità orizzontale per una Web farm AppFabric

Le funzionalità di AppFabric sono installate in ciascuno dei nodi server di una Web farm Microsoft AppFabric 1.1 per Windows Server. In questo modo è possibile gestire un incremento del carico condividendo le risorse disponibili in più server. È consigliabile utilizzare una Web farm AppFabric per ogni ambiente di produzione che deve soddisfare i fabbisogni di incremento del carico, elevata disponibilità, monitoraggio e maggiore gestibilità. Dal punto di vista concettuale, l'approccio generale per aumentare la scalabilità orizzontale del livello di hosting dei servizi di AppFabric è lo stesso da utilizzare per la creazione di una Web farm, come illustrato nella figura riportata di seguito.

IP virtuale


Nella Guida alla configurazione di una Web farm AppFabric vengono fornite istruzioni dettagliate per l'installazione di AppFabric in un ambiente Web farm multiserver.

Prestazioni relative alla scalabilità orizzontale

I servizi WCF e WF senza stato non eseguono il salvataggio permanente di alcun tipo di stato tra una creazione di istanza e un'altra. I test delle prestazioni relative alla scalabilità orizzontale eseguiti da Microsoft hanno dimostrato che, per i servizi WCF e WF senza stato, la scalabilità orizzontale di AppFabric viene aumentata in modo lineare. Questo significa che, raddoppiando il numero di nodi di una Web farm AppFabric, anche la velocità effettiva raddoppia, mentre i tempi di risposta dei servizi (latenza) rimangono costanti. Nei grafici riportati di seguito sono illustrate le caratteristiche della scalabilità orizzontale.

Velocità effettiva chiamate al secondo Latenza delle chiamate


Nei grafici precedenti la scala e le misure dell'asse Y variano in base alla logica e all'implementazione di ciascun servizio.

Nel grafico Velocità effettiva la velocità effettiva quasi lineare aumenta insieme alla scalabilità orizzontale. In un momento specifico durante il test di carico la velocità effettiva raddoppia passando da uno a due, quindi a quattro e infine a otto server. Contemporaneamente la latenza rimane invariata.

Tuttavia, nel grafico Latenza relativo ai servizi WF permanenti che memorizzano lo stato utilizzando l'archivio salvataggi permanenti di AppFabric, l'andamento della scalabilità orizzontale non è lineare. Le caratteristiche esatte dipendono da numerosi fattori, tra cui il numero di punti di salvataggio permanente, la quantità e la complessità delle correlazioni e le dimensioni dello stato del flusso di lavoro. Le caratteristiche variano inoltre in base alle diverse implementazioni del flusso di lavoro. Per meglio comprendere le capacità di scalabilità orizzontale di uno specifico servizio di flusso di lavoro, è consigliabile eseguire un'esercitazione apposita utilizzando l'implementazione del servizio effettiva.

I risultati dei test delle prestazioni dimostrano che un servizio WF permanente in esecuzione su una Web farm AppFabric con otto nodi crea conflitti di I/O su disco e blocchi nel database di salvataggio permanente. Per i flussi di lavoro senza stato, o non permanenti, non si verifica alcun conflitto. Quest'ultimo diventa un fattore limitante quando si tenta di aumentare ulteriormente la velocità effettiva aumentando la scalabilità orizzontale del livello intermedio. Nel grafico riportato di seguito è illustrato il modello di scalabilità orizzontale di un servizio di flusso di lavoro permanente (barre rosse) rispetto a un servizio di flusso di lavoro equivalente dal punto di vista funzionale ma non permanente (barre blu).

Velocità effettiva e punti di salvataggio permanente


Nella sezione Livello di archiviazione dei dati della presente documentazione vengono fornite le linee guida e le tecniche da utilizzare per ridurre l'impatto del salvataggio permanente sulla velocità effettiva.

  2012-03-05
Mostra: