Aumenta la velocità di un'applicazione VB.net su SQL server 2008 e Hamachi VPN [chiuso]

-1

Il nostro attuale sistema informativo (completo di percorso per le immagini per i record memorizzati in db) ha le seguenti specifiche:

  • Un'applicazione desktop è stata sviluppata in vb.net
  • Utilizziamo SQL server 2008 r2 come database
  • Specifiche del server: processore Intel xeon con clock a 2,40 ghz, 2 GB di RAM e sistema operativo
    del 2008 R2
  • VPN Hamachi per i nostri uffici offshore (all'interno del paese).
  • Office ha una connessione Internet dedicata da 6 MB. Gli uffici offshore hanno variato da 2mbps a 1mbps

L'applicazione fatta in vb.net è collegata al server tramite IPaddress (localmente) e hamachi IP pubblico (per offshore) (abbiamo fatto in modo che il tunnel sia diretto, non trasmesso)

Abbiamo trovato alcune cose strane mentre gli utenti hanno usato l'applicazione. Ci sono volte in cui ci sono 5 utenti (locali e offshore) che lo usano contemporaneamente, ed è andato benissimo. Poi ci sarebbero momenti in cui anche solo tre utenti attivi (ancora locali o in mare aperto) subirebbero improvvisamente un estremo rallentamento (anche per qualcosa di semplice come una query selezionata nel database per la verifica del log-in).

Per i clienti offshore abbiamo provato a eseguirne il ping in hamachi e abbiamo scoperto che ognuno ha una media di velocità di 500 byte per risposta. Inoltre, il caricamento dei record contenenti immagini richiede molto tempo. Non dovrebbe essere che se metti il percorso dell'immagine invece di usare BLOB, l'imaging sarebbe più veloce? (Le immagini delle applicazioni sono archiviate in una cartella condivisa sul server, quindi mappiamo la cartella all'unità client).

Le domande sono: sulla base di quanto sopra, come possiamo accelerare esattamente il sistema? Dovrebbero miglioriamo le specifiche del server? il problema è il provider internet? dobbiamo ridisegnare il modo in cui gestiamo le immagini nel sistema?

Quali sono i colli di bottiglia e come possiamo porvi rimedio?

Ci sono altre cose di cui dovrei essere a conoscenza?

    
posta Malky.Kid 30.09.2013 - 09:24
fonte

1 risposta

0

Posso darti solo un consiglio generale: quando tenti di accedere ai DB relazionali tramite VPN, verifica la latenza. Anche quando la larghezza della banda è ottima, la latenza causata dagli interni VPN può uccidere le prestazioni in uno scenario del genere. Alla mia esperienza spesso è meglio fare uso di una soluzione server terminal ed eseguire l'applicazione solo localmente - RDP è ottimizzato per l'accesso VPN, mentre l'accesso DB relazionale tipicamente fa molti roundtrip con piccoli set di dati, che non funzionano bene quando la tua latenza è alta.

Se ciò non funziona, la cosa migliore da fare è IMHO: misurare, misurare, misurare! Il collo di bottiglia può essere ovunque ed è quasi impossibile risolverlo sul tavolo da disegno.

    
risposta data 30.09.2013 - 12:55
fonte

Leggi altre domande sui tag