Cinque modi per accelerare le applicazioni virtuali

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
L’APP CHE TI PAGAH PER CAMMINARE?! - MA FATEMI IL PIACERE
Video: L’APP CHE TI PAGAH PER CAMMINARE?! - MA FATEMI IL PIACERE

Contenuto


Fonte: Viktorus / Dreamstime.com

Porta via:

Impara cinque tecniche per accelerare le applicazioni virtuali senza spendere una fortuna.

Una delle frustrazioni di diventare virtuale per applicazioni e desktop è la prestazione. Nessuno vuole attendere più di un secondo o due affinché un'applicazione appaia dopo l'avvio. Come utenti, prevediamo che le nostre applicazioni vengano visualizzate immediatamente dopo aver fatto doppio clic sull'icona. Non ci rendiamo conto di cosa succede in background per distribuire quelle applicazioni tra server, attraverso firewall, bilanciamento del carico, via etere o attraverso i cavi dei nostri desktop e dei nostri dispositivi mobili, né ci interessa. La nostra pazienza collettiva si è esaurita con le promesse di una tecnologia migliore, più veloce e più sicura ed è tempo di un momento di "apertura o chiusura" da parte dei venditori e del personale di supporto. A loro volta, i fornitori e il personale di supporto condividono il nostro dolore e hanno risposto con alcune tecnologie di accelerazione che offrono prestazioni a livelli vicini o installati localmente.


Per gli utenti, tutto dipende dalla velocità, ma a differenza di utenti, architetti, amministratori di sistema e CIO non cercano risposte più rapide ai doppi clic degli utenti; sono anche alla ricerca di scalabilità, sicurezza migliorata e aspettative di vita tecnologiche più lunghe che mai. Alla fine, gli utenti sono i critici più severi del fornitore e del supporto e, per questo motivo, l'esplorazione delle tecniche e delle tecnologie delle applicazioni virtuali è a portata di mano. Questo articolo esamina cinque modi per accelerare le applicazioni virtuali. Le cinque soluzioni non sono in un ordine particolare, ma si concentrano tutte in una delle tre aree chiave per l'ottimizzazione e l'accelerazione: infrastruttura, codice dell'applicazione e larghezza di banda.

Ottimizzazione WAN e LAN

È possibile fare riferimento all'ottimizzazione WAN e LAN come una soluzione di larghezza di banda, in cui l'obiettivo finale è quello di mettere più informazioni e più dati su una pipeline di rete in modo più efficiente. Poiché le prestazioni delle applicazioni sono così critiche per gli utenti finali, esistono alcuni metodi ingegnosi per fornire più contenuti in brevi periodi di tempo, come la creazione di una rete di distribuzione dei contenuti (CDN) che essenzialmente sposta i dati più vicino all'utente o all'utente finale. Lo spostamento dei dati più vicino all'utente riduce la latenza perché i dati devono attraversare meno "hop" o reti per arrivare a destinazione. La maggior parte dei fornitori di servizi cloud ha già creato CDN per aiutare i proprietari di applicazioni a distribuire contenuti distribuiti vicino ai propri consumatori.


Il bilanciamento del carico ottimizza la larghezza di banda diffondendo le richieste dei client tra più server o tra più posizioni al fine di condividere meglio l'onere della consegna delle applicazioni. I servizi di bilanciamento del carico migliorano la velocità di consegna delle applicazioni rimuovendo gli ingorghi che si verificano con le richieste degli utenti per una singola applicazione. Ma aumentano anche l'affidabilità essendo in grado di consegnare l'applicazione in modo efficiente a un server che non è sovraccarico di altre richieste.

L'aumento della larghezza di banda grezza tra applicazioni e client sembra un evidente miglioramento per accelerare la consegna delle applicazioni. Chi può sostenere che una connessione di rete gigabit tra l'infrastruttura dell'applicazione e il computer client sia una cosa negativa? Anche un'applicazione mal progettata e concepita riceverà un significativo aumento delle prestazioni aumentando la larghezza di banda tra l'origine e la destinazione.

La compressione dei dati e l'utilizzo di tipi di media compressi come JPEG, MPEG-4 e MP3 possono avere un impatto significativo sulla consegna delle applicazioni. La compressione dei dati di contenuto basato su HTML, che significa HTML, CSS e JavaScript, può comportare una riduzione del 30 percento o maggiore del tempo di caricamento.

SSD e array flash

Gli SSD e gli array flash sembrano essere la nuova tecnologia "go to" per qualsiasi tipo di miglioramento delle prestazioni delle applicazioni. È vero che lo storage a stato solido è molto più veloce dei dischi rotanti, ma è anche significativamente più costoso. La soluzione potrebbe essere quella di considerare l'utilizzo degli SSD in modo diverso, come cache per dati "caldi" anziché per dati a riposo. Gli SSD possono fornire dati molto più rapidamente rispetto ai dischi rotanti, ma parte di tale efficienza si perde nella traduzione sulla rete e attraverso vari componenti di rete. Tuttavia, se si utilizza la cosiddetta "cache flash" per sfruttare la velocità dell'SSD su cui archiviare le informazioni memorizzate nella cache, i risultati sono impressionanti. Intel riporta "prestazioni 12 volte superiori sull'elaborazione transazionale del database e elaborazione 36 volte più rapida dei carichi di lavoro virtualizzati ad alta intensità di I / O".

Gli SSD per la memorizzazione nella cache dei dati hanno senso a causa della velocità con cui i dati possono essere recuperati e archiviati in memoria. E se gli SSD vengono utilizzati esclusivamente per scopi di memorizzazione nella cache, sarà necessario acquistarne significativamente meno per soddisfare i conseguenti aumenti delle prestazioni. (Per ulteriori informazioni sullo spazio di archiviazione, vedere Come ottimizzare la soluzione di archiviazione aziendale.)

Nessun bug, nessuno stress: la tua guida passo passo alla creazione di software che ti cambia la vita senza distruggere la tua vita

Non puoi migliorare le tue capacità di programmazione quando a nessuno importa della qualità del software.

GPU virtuali

Chiedi a chiunque utilizzi un programma CAD, un software di editing video o persino un'applicazione di project management dove desidera che vengano caricate quelle applicazioni e sentirai un coro di "localmente". Trasformare queste applicazioni ad alta intensità di grafica in un ambiente virtuale compitato disastro fino al rilascio della tecnologia di unità di elaborazione grafica virtuale (GPU).

Le GPU virtuali consentono infine di inserire qualsiasi carico di lavoro in una macchina virtuale. I holdings CAD della vecchia scuola sono stati ora assimilati, così come editor video e grafici. Anche coloro che lavorano in tre dimensioni ora hanno una presenza virtuale grazie alle GPU virtuali.

Ciò che ha reso possibile questa tecnologia è che speciali schede GPU, compatibili con i sistemi host di macchine virtuali, sono installate in tali sistemi host e quindi i loro attributi hardware sono astratti o virtualizzati in modo che possano essere utilizzati dalle macchine virtuali.

Software ottimizzato per le prestazioni

Gli amministratori di sistema arrabbiati e frustrati spesso ti diranno che la correzione del codice non è il loro lavoro. Il problema onnipresente è, tuttavia, che gli sviluppatori potrebbero essere di prim'ordine nella programmazione di un'applicazione, ma non possono assolutamente avere idea o desiderio di ottenere un indizio sull'ottimizzazione del codice per le prestazioni.Spesso l'atteggiamento è che più RAM, dischi più veloci o CPU più potenti risolveranno eventuali problemi relativi alle prestazioni che potrebbero esistere nel codice, ed è vero in una certa misura. In alternativa, la correzione del codice è molto meno costosa e molto più semplice da risolvere rispetto alla ricostruzione di un'infrastruttura semplicemente per accelerare le applicazioni scritte male.

Ci sono quelli, come il pioniere del computer Donald Knuth, che ha detto di ottimizzare il codice del computer, "Se ottimizzi tutto, sarai sempre infelice". Nonostante le opinioni di Mr. Knuth, l'ottimizzazione del codice per un equilibrato livello di miglioramento dovrebbe essere eseguita e tollerata . Ma che dire dei programmi commerciali acquistati e distribuiti ai tuoi utenti? Ad esempio, la sempreverde suite di Microsoft Office è una suite standard di applicazioni che gli amministratori di sistema devono rendere disponibili sia agli utenti locali che a quelli remoti.

Nel caso di programmi commerciali su cui gli amministratori non fanno leva, devono applicare una strategia di miglioramento delle prestazioni a più livelli. La memorizzazione nella cache di bit di applicazioni comuni sarà la più grande tecnologia dell'amministratore per accelerare la consegna di applicazioni di grandi dimensioni agli utenti.

caching

Ogni volta che leggi o ascolti i termini precaricamento, preelaborazione o precompilazione, è molto probabile che lo scrittore o il relatore si riferisca a una sorta di cache. La memorizzazione nella cache dell'applicazione di solito si riferisce al caricamento di determinati contenuti statici e dinamici in un buffer di memoria in modo che sia facilmente recuperabile su richiesta. Gli unici bit forniti attraverso la pipeline sono quelli che hanno a che fare specificamente con l'utente o altri dati dipendenti dal tempo o dalla sessione. Tutto il resto viene memorizzato nella cache.

La memorizzazione nella cache mette meno stress sull'archiviazione, sulla larghezza di banda della rete e sulle CPU. I dati attendono in memoria fino a quando non vengono richiamati, quindi procedono nel suo viaggio molto più breve verso l'utente finale. La maggior parte delle tecnologie combina la memorizzazione nella cache con la posizione per fornire contenuti più rapidamente. In altre parole, i dati comuni - che sono dati comuni a tutti gli utenti - vengono inseriti nei suddetti CDN e quindi consegnati agli utenti vicini ai dati richiesti. Alcune soluzioni arrivano al punto di memorizzare nella cache locale i dati su siti remoti o satellitari in modo che quei bit comuni risiedano dove vengono consumati e non devono essere trasferiti attraverso la WAN o un collegamento Internet.

La memorizzazione nella cache è spesso un metodo di accelerazione delle applicazioni preferito perché è molto meno costosa rispetto a soluzioni con prestazioni comparabili che si basano su miglioramenti dell'infrastruttura. (Per ulteriori informazioni sulla memorizzazione nella cache, vedere Quale scrittura è corretta? Uno sguardo ai metodi di memorizzazione nella cache di I / O.)

Sommario

Forse la regola empirica di base quando si tenta di ottimizzare o accelerare le applicazioni virtuali in qualsiasi ambiente è innanzitutto provare la memorizzazione nella cache e quindi integrare quella strategia con altre tecnologie. La memorizzazione nella cache è la soluzione meno costosa ed è anche la meno invasiva. Il miglior consiglio è di acquistare molta RAM per la memorizzazione nella cache della memoria e SSD per la memorizzazione nella cache dei dati a caldo. Cerca di mantenere i costi gestibili, ma ricorda che quando spendi soldi per l'infrastruttura e per il software, puoi ammortizzarli lungo la vita della tecnologia e distribuirli su una base per utente per facilitare la digestione della gestione. Alla fine, mantieni i tuoi utenti produttivi e felici e ti manterranno proficuamente impiegati.