Come ridurre la latenza geografica nell'applicazione Web (MVC ASP.net) supportata da un singolo database

2

Sto lavorando su un'applicazione web di dimensioni modeste che riceve circa 30.000 utenti unici al giorno, questa è un'applicazione MVC C # ospitata su 3 server Web e supportata da un singolo server SQL, tutto è ospitato in un unico centro dati.

Il problema è che stiamo vedendo dom completare i tempi fino a 3 volte più lento in alcune parti del mondo. Abbiamo fatto tutte le solite "vittorie veloci" come suggerito da yslow - e ora stiamo cercando di apportare modifiche architettoniche.

Il nostro piano iniziale è quello di creare una web api che avvolga il nostro livello server, e quindi ospitare il livello web in un secondo data center in una parte diversa del mondo più vicina agli utenti con una latenza scadente. La speranza è che questo in combinazione con il caching e aiuterà a ridurre la latenza. Mi sembra appropriato che ci sia una latenza tra il livello di servizio API e il livello web, ma la speranza è che queste siano chiamate http molto leggere.

Ha senso?

    
posta Dan 21.01.2014 - 23:42
fonte

1 risposta

2

Sì, ha senso. E potresti fare ancora qualcosa.

La difficoltà con le chiamate HTTP leggere è che, a meno che la connessione non venga mantenuta aperta per le chiamate (non insolita oggi), ogni chiamata deve ristabilire l'handshake a tre vie per TCP e rinegoziare la larghezza di banda (a partire da un punto basso).

Questo può essere migliorato facendo in modo che il computer nel centro dati remoto crei una connessione sempre aperta al computer nel centro dati principale. Rimanendo aperto, la connessione non ha bisogno di rinegoziare la larghezza di banda e può adattarsi correttamente e rimanere scalata fino alla larghezza di banda massima.

Lavorando con due endpoint noti, è anche possibile comprimere i dati che vanno tra loro per migliorare ulteriormente la risorsa.

Ci sono altri aspetti della sintonizzazione TCP che possono essere fatti per migliorare ulteriormente le prestazioni tra endpoint noti e attraverso una connessione nota .

Purtroppo, non sono un amministratore di sistema o di rete e non posso offrire particolari per questo. Questa descrizione si basa su un prodotto che ho usato in una precedente azienda. Se fai un giro, puoi trovare altri comunicati stampa con suggerimenti su come Netli ha fatto.

Detto questo, Netli è stato acquistato da Akamai e ha incorporato la loro tecnologia in lo stack Akamai. Potresti trovare Akamai (o altri CDN) in grado di fornire tale funzionalità per te.

Si noti che è possibile farlo come "solo un proxy" sul sito remoto senza dover mettere in funzione un altro sistema.

    
risposta data 22.01.2014 - 00:03
fonte

Leggi altre domande sui tag