Fem sätt att påskynda virtuella applikationer

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 1 Juli 2024
Anonim
Fem sätt att påskynda virtuella applikationer - Teknologi
Fem sätt att påskynda virtuella applikationer - Teknologi

Innehåll


Källa: Viktorus / Dreamstime.com

Hämtmat:

Lär dig fem tekniker för att påskynda virtuella applikationer utan att bryta banken.

En av frustrationerna med att gå virtuellt för applikationer och stationära datorer är prestanda. Ingen vill vänta längre än en sekund eller två tills en applikation visas efter lanseringen. Som användare förväntar vi oss att våra applikationer ska visas omedelbart efter att du dubbelklickat på ikonen. Vi inser inte vad som händer i bakgrunden för att leverera dessa applikationer mellan servern, genom brandväggar, genom lastbalanserare, över luften eller genom ledningarna till våra stationära datorer och till våra mobila enheter, och vi bryr oss inte heller. Vårt kollektiva tålamod har slitnat med löften om bättre, snabbare, säkrare teknik och det är dags för ett "ställa upp eller stänga upp" ögonblick från leverantörer och från supportpersonal. I sin tur delar leverantörer och supportpersonal vår smärta och har svarat med vissa accelerationstekniker som levererar prestanda på eller nära lokalt installerade nivåer.


För användare handlar det om hastigheten, men till skillnad från användare letar inte arkitekter, systemadministratörer och CIO: er efter snabbare svar på användarens dubbelklick; de letar också efter skalbarhet, förbättrad säkerhet och längre förväntade tekniska livslängder än någonsin tidigare. I slutändan är användarna leverantörs och supporters hårdaste kritiker och därför är utforskningen av virtuella applikationstekniker och tekniker till hands. Den här artikeln undersöker fem sätt att påskynda virtuella applikationer. De fem lösningarna är i ingen särskild ordning, men fokuserar alla inom ett av tre viktiga områden för optimering och acceleration: infrastruktur, applikationskod och bandbredd.

WAN- och LAN-optimering

Du kan hänvisa till WAN- och LAN-optimering som en bandbreddslösning, där det slutliga målet är att lägga mer information och mer data på en nätverkspipeline på ett mer effektivt sätt. Eftersom applikationsprestanda är så kritisk för slutanvändare finns det några geniala metoder för att leverera mer innehåll på kortare tid, till exempel att skapa ett innehållsleveransnätverk (CDN) som väsentligen flyttar uppgifterna närmare konsumenten eller slutanvändaren. Att flytta informationen närmare användaren minskar latensen eftersom uppgifterna måste korsa färre "humle" eller nätverk för att komma fram till sin destination. De flesta leverantörer av molntjänster har redan CDN: er för att hjälpa applikationsägare att leverera distribuerat innehåll nära sina kunder.


Lastbalansering optimerar bandbredden genom att sprida klientförfrågningar mellan flera servrar eller mellan flera platser för att bättre dela bördan vid leverans av applikationer. Lastbalanserare förbättrar leveranshastigheten för applikationer genom att ta bort trafikstockningar som uppstår med användarbegäranden för en enda applikation. Men de ökar också tillförlitligheten genom att kunna leverera applikationen effektivt till en server som inte är överbelastad med andra förfrågningar.

Att öka rå bandbredd mellan applikationer och klienter verkar som en uppenbar förbättring att göra för att snabba leverans av applikationer. Vem kan hävda att en gigabit nätverksanslutning mellan applikationsinfrastrukturen och klientdatorn är en dålig sak? Till och med en dåligt utformad och tänkt applikation kommer att få en betydande prestandaökning genom att öka bandbredden mellan källan och målet.

Datakomprimering och användning av komprimerade mediatyper som JPEG, MPEG-4 och MP3 kan ha en betydande inverkan på leverans av applikationer. Datakomprimering av baserat innehåll, vilket betyder HTML, CSS och JavaScript, kan resultera i en minskning av belastningstiden med 30 procent eller mer.

SSD: er och Flash Arrays

SSD: er och flashmatriser verkar vara den nya ”go to” -teknologin för alla typer av applikationsprestandaförbättringar. Det är sant att lagring i fast tillstånd är mycket snabbare än snurrskivor, men det är också betydligt dyrare. Lösningen kan vara bra att titta på att använda SSD: er på olika sätt - som cache för "heta" data istället för för data i vila. SSD: er kan leverera data mycket snabbare än spinnskivor kan, men en del av den effektiviteten går förlorad vid översättning över nätverket och genom olika nätverkskomponenter. Men om man använder så kallade ”flash-cache” för att utnyttja SSD-hastighet för att lagra cache-information, är resultaten imponerande. Intel rapporterar upp till "12 gånger mer prestanda för databasbearbetning och upp till 36 gånger snabbare behandling av I / O-intensiva virtualiserade arbetsbelastningar."

SSD: er för datacaching är vettigt på grund av hastigheten med vilken data kan hämtas och placeras i minnet. Och om SSD: er används enbart för cachningsändamål, måste betydligt färre av dem köpas för att tillfredsställa de resulterande prestandaförstärkningarna. (Mer information om lagring finns i Hur du optimerar din Enterprise Storage-lösning.)

Inga buggar, ingen stress - din steg-för-steg-guide för att skapa livsförändrad programvara utan att förstöra ditt liv

Du kan inte förbättra dina programmeringsfärdigheter när ingen bryr sig om mjukvarukvalitet.

Virtuella GPU: er

Fråga alla som använder ett CAD-program, videoredigeringsprogram eller till och med en projekthanteringsapplikation där han eller hon vill ha de applikationerna laddade och du kommer att höra ett kör "lokalt." Att göra dessa grafikintensiva applikationer lös i en virtuell miljö stavad katastrof tills frisläppandet av virtuell grafisk processenhet (GPU) -teknologi.

Virtuella GPU: er tillåter slutligen all arbetsbelastning att placeras i en virtuell maskin. Den gamla skolan CAD-utdelningar har nu blivit assimilerade, liksom videoredigerare och grafiska formgivare. Även de som arbetar i tre dimensioner har nu en virtuell närvaro tack vare virtuella GPU: er.

Det som gjorde denna teknik möjlig är att speciella GPU-kort, kompatibla med värdsystem för virtuell maskin, installeras i dessa värdsystem och därefter abstraheras eller virtualiseras deras hårdvaruattribut så att de kan användas av virtuella maskiner.

Prestationsoptimerad programvara

Arg och frustrerad systemadministratör säger ofta att fixa kod inte är deras jobb. Det allestädes närvarande problemet är emellertid att utvecklare kan vara i toppklass när det gäller att programmera en applikation, men kan ha absolut ingen aning eller önskan att få en ledtråd om att optimera kod för prestanda.Ofta är inställningen att mer RAM, snabbare diskar eller kraftigare CPU: er kommer att lösa alla prestationsrelaterade problem som kan finnas i koden, och det är sant i viss mån. Alternativt är fixeringskoden mycket billigare och mycket lättare att lösa än att bygga om en infrastruktur helt enkelt för att påskynda dåligt skrivna applikationer.

Det finns sådana, till exempel datorpionjären Donald Knuth, som sa om att optimera datorkoden, "Om du optimerar allt, kommer du alltid att vara olycklig." Herr Knuths åsikter trots att optimeringskod för en balanserad mängd förbättringar bör utföras och tolereras . Men hur är det med kommersiella program som du köper och distribuerar till dina användare? Till exempel är den vintergröna Microsoft Office-sviten en standardpaket med applikationer som systemadministratörer måste göra tillgängliga för både lokala och fjärranslutna användare.

När det gäller kommersiella program som administratörer inte har någon hävstångseffekt måste de tillämpa en flerskiktad prestandaförbättringsstrategi. Caching av vanliga applikationsbitar är administratörens största teknik för att påskynda leveransen av stora applikationer till användare.

caching

Varje gång du läser eller hör termerna förbelastning, förbehandling eller förkompilering hänvisar författaren eller talaren troligen till någon form av cachning. Programcaching hänvisar vanligtvis till att vissa statiska och vissa dynamiska innehållsdelar laddas in i en minnesbuffert så att det enkelt kan hämtas på begäran. De enda bitarna som levereras hela vägen via pipeline är de som har specifikt att göra med användaren eller annan tids- eller sessionberoende data. Allt annat cachas in i minnet.

Caching lägger mindre stress på lagring, på nätverksbandbredd och på CPU: er. Uppgifterna väntar i minnet tills de begärs och fortsätter sedan på sin mycket kortare resa till slutanvändaren. De flesta tekniker kombinerar cachning med plats för att leverera innehåll snabbare. Med andra ord, vanliga data - det är data som är gemensamma för alla användare - placeras i ovannämnda CDN: er och levereras sedan till användare som ligger nära den begärda informationen. Vissa lösningar går så långt som att lokalt cache-data på fjärrplatser eller satellitwebbplatser så att de vanliga bitarna finns där de konsumeras och inte behöver dras fräsch över WAN eller en internetlänk.

Caching är ofta en föredragen applikationsaccelerationsmetod eftersom det är mycket billigare än jämförbara resultat som bygger på förbättringar av infrastrukturen. (För att lära dig mer om cachning, se Vilken skrivning är rätt? En titt på I / O-cachemetoder.)

Sammanfattning

Den kanske tumregeln när man försöker optimera eller påskynda virtuella applikationer i någon miljö är att först försöka cache och sedan komplettera den strategin med annan teknik. Caching är den billigaste lösningen och är den minst invasiva. Det bästa rådet är att köpa massor av RAM-minne för minne-caching och SSD: er för hot-caching. Försök att hålla kostnaderna hanterbara, men kom ihåg att när du spenderar pengar på infrastruktur och programvara kan du amortera den under teknikens livslängd och sprida den per användare för att göra det enklare för ledningen att smälta. I slutändan ska du hålla dina användare produktiva och lyckliga och de kommer att hålla dig fortfarande anställd.