Vijf manieren om virtuele applicaties te versnellen

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 26 Juni- 2024
Anonim
6 websites you wish you had discovered sooner!
Video: 6 websites you wish you had discovered sooner!

Inhoud


Bron: Viktorus / Dreamstime.com

Afhaal:

Leer vijf technieken om virtuele applicaties te versnellen zonder de bank te breken.

Een van de frustraties van virtualisatie voor applicaties en desktops zijn prestaties. Niemand wil langer dan een seconde of twee wachten tot een toepassing na de lancering verschijnt. Als gebruikers verwachten we dat onze applicaties onmiddellijk verschijnen na dubbelklikken op het pictogram. We realiseren ons niet wat er op de achtergrond gebeurt om die applicaties tussen de server, via firewalls, via load-balancers, via de ether of via de draden naar onze desktops en onze mobiele apparaten te leveren, en het kan ons ook niet schelen. Ons collectieve geduld is versleten met beloften van betere, snellere, veiligere technologie en het is tijd voor een "ophangen of zwijgen" -moment van leveranciers en van ondersteunend personeel. Op hun beurt delen verkopers en ondersteunend personeel onze pijn en hebben gereageerd met enkele versnellingstechnologieën die prestaties leveren op of nabij lokaal geïnstalleerde niveaus.


Voor gebruikers draait het allemaal om de snelheid, maar in tegenstelling tot gebruikers, zoeken architecten, systeembeheerders en CIO's niet naar snellere reacties op dubbelklikken van gebruikers; ze zijn ook op zoek naar schaalbaarheid, verbeterde beveiliging en langere levensduur van de technologie dan ooit tevoren. Uiteindelijk zijn gebruikers verkoper en ondersteunen ze de hardste critici en om die reden is het onderzoek naar virtuele applicatietechnieken en -technologieën nabij. Dit artikel onderzoekt vijf manieren om virtuele applicaties te versnellen. De vijf oplossingen staan ​​niet in een bepaalde volgorde, maar richten zich allemaal op een van de drie belangrijkste gebieden voor optimalisatie en versnelling: infrastructuur, applicatiecode en bandbreedte.

WAN- en LAN-optimalisatie

U kunt naar WAN- en LAN-optimalisatie verwijzen als een bandbreedte-oplossing, waarbij het uiteindelijke doel is om op een efficiëntere manier meer informatie en meer gegevens op een netwerkpijplijn te plaatsen. Omdat de prestaties van applicaties zo belangrijk zijn voor eindgebruikers, zijn er enkele ingenieuze methoden om meer content in kortere tijd te leveren, zoals het creëren van een content delivery network (CDN) dat de gegevens in wezen dichter bij de consument of de eindgebruiker brengt. Door de gegevens dichter bij de gebruiker te plaatsen, neemt de latentie af omdat de gegevens minder "hops" of netwerken hoeven te doorlopen om op hun bestemming aan te komen. De meeste cloudserviceproviders hebben al CDN's om applicatie-eigenaren te helpen gedistribueerde content dicht bij de consument te leveren.


Load balancing optimaliseert de bandbreedte door clientverzoeken over meerdere servers of over meerdere locaties te verspreiden om de last van de levering van applicaties beter te verdelen. Load balancers verhogen de snelheid van de levering van applicaties door de files te verwijderen die optreden bij gebruikersverzoeken voor een enkele applicatie. Maar ze verhogen ook de betrouwbaarheid door de applicatie efficiënt te kunnen leveren aan een server die niet wordt overbelast door andere aanvragen.

Het vergroten van de ruwe bandbreedte tussen applicaties en clients lijkt een voor de hand liggende verbetering om de levering van applicaties te versnellen. Wie kan beweren dat een gigabit-netwerkverbinding tussen de applicatie-infrastructuur en de clientcomputer een slechte zaak is? Zelfs een slecht ontworpen en bedachte applicatie zal een aanzienlijke prestatieverbetering ontvangen door de bandbreedte tussen de bron en het doel te vergroten.

Gegevenscompressie en het gebruik van gecomprimeerde mediatypen zoals JPEG, MPEG-4 en MP3 kunnen een aanzienlijke invloed hebben op de levering van toepassingen. Gegevenscompressie van op inhoud gebaseerde inhoud, wat HTML, CSS en JavaScript betekent, kan de laadtijd met 30 procent of meer verminderen.

SSD's en Flash-arrays

SSD's en flash-arrays lijken de nieuwe "ga naar" -technologie te zijn voor elke vorm van verbetering van de applicatieprestaties. Het is waar dat solid-state opslag veel sneller is dan schijven die draaien, maar het is ook aanzienlijk duurder. De oplossing is misschien goed om anders naar SSD's te kijken - als cache voor 'hot' data in plaats van voor data in rust. SSD's kunnen gegevens veel sneller leveren dan draaiende schijven, maar een deel van die efficiëntie gaat verloren bij de vertaling via het netwerk en via verschillende netwerkcomponenten. Als u echter zogenaamde "flash-cache" gebruikt om de SSD-snelheid te gebruiken waarop informatie in de cache wordt opgeslagen, zijn de resultaten indrukwekkend. Intel rapporteert tot "12 keer meer prestaties bij transactionele database-verwerking en tot 36 keer snellere verwerking van I / O-intensieve gevirtualiseerde workloads."

SSD's voor gegevenscaching zijn logisch vanwege de snelheid waarmee gegevens kunnen worden opgehaald en in het geheugen worden opgeslagen. En als SSD's puur voor cachingdoeleinden worden gebruikt, moeten er aanzienlijk minder worden gekocht om aan de resulterende prestatieverbeteringen te voldoen. (Zie Uw bedrijfsopslagoplossing optimaliseren voor meer informatie over opslag.)

Geen bugs, geen stress - Uw stapsgewijze handleiding voor het creëren van levensveranderende software zonder uw leven te vernietigen

U kunt uw programmeervaardigheden niet verbeteren als niemand om softwarekwaliteit geeft.

Virtuele GPU's

Vraag het aan iedereen die een CAD-programma, videobewerkingssoftware of zelfs een projectbeheertoepassing gebruikt waar hij of zij die toepassingen wil laten laden en je zult een koor horen van "lokaal". Deze grafisch-intensieve toepassingen veranderen in een virtuele omgeving met een gespelde ramp tot de release van de GPU-technologie (Virtual Graphic Processing Unit).

Virtuele GPU's laten eindelijk toe om elke werklast in een virtuele machine te plaatsen. De old-school CAD-holdings zijn nu geassimileerd, evenals video-editors en grafische ontwerpers. Zelfs degenen die in drie dimensies werken, zijn nu virtueel aanwezig dankzij virtuele GPU's.

Wat deze technologie mogelijk maakte, is dat speciale GPU-kaarten, compatibel met hostsystemen van virtuele machines, in die hostsystemen worden geïnstalleerd en dat hun hardware-eigenschappen worden geabstraheerd of gevirtualiseerd zodat ze door virtuele machines kunnen worden gebruikt.

Prestaties geoptimaliseerde software

Boze en gefrustreerde systeembeheerders zullen u vaak vertellen dat het repareren van code niet hun taak is. Het alomtegenwoordige probleem is echter dat ontwikkelaars topklasse kunnen zijn in het programmeren van een toepassing, maar absoluut geen idee hebben of wensen te weten te komen over het optimaliseren van code voor prestaties.Vaak is de houding dat meer RAM, snellere schijven of krachtigere CPU's prestatiegerelateerde problemen die in de code kunnen voorkomen, zullen oplossen, en dat is tot op zekere hoogte waar. Als alternatief is het repareren van code veel minder duur en veel gemakkelijker op te lossen dan het opnieuw opbouwen van een infrastructuur om slecht geschreven applicaties te versnellen.

Er zijn mensen, zoals computerpionier Donald Knuth, die zeiden over het optimaliseren van computercode: "Als je alles optimaliseert, zul je altijd ongelukkig zijn." Desondanks moet meneer Knuth toch de code optimaliseren voor een evenwichtige hoeveelheid verbetering en deze verdragen. . Maar hoe zit het met commerciële programma's die u aanschaft en implementeert voor uw gebruikers? Het groenblijvende Microsoft Office-pakket is bijvoorbeeld een standaardpakket van toepassingen die systeembeheerders beschikbaar moeten stellen aan zowel lokale als externe gebruikers.

In het geval van commerciële programma's waar beheerders geen invloed op hebben, moeten ze een meerlagige strategie voor prestatieverbetering toepassen. Caching van algemene applicatiebits zal de grootste technologie van de beheerder zijn om de levering van grote applicaties aan gebruikers te versnellen.

caching

Telkens wanneer u de voorwaarden voor het vooraf laden, voorverwerking of voorcompileren leest of hoort, verwijst de schrijver of spreker waarschijnlijk naar een soort caching. Applicatiecaching verwijst meestal naar het laden van bepaalde statische en sommige dynamische stukken inhoud in een geheugenbuffer zodat deze op verzoek gemakkelijk kan worden opgehaald. De enige bits die helemaal door de pijplijn worden geleverd, zijn die welke specifiek te maken hebben met de gebruiker of andere tijd- of sessieafhankelijke gegevens. Al het andere wordt opgeslagen in het geheugen.

Caching legt minder stress op opslag, op netwerkbandbreedte en op CPU's. De gegevens wachten in het geheugen totdat ze worden opgevraagd en vervolgen hun veel kortere reis naar de eindgebruiker. De meeste technologieën combineren caching met locatie om inhoud sneller te leveren. Met andere woorden, gemeenschappelijke gegevens - dat zijn gegevens die alle gebruikers gemeen hebben - worden in de bovengenoemde CDN's geplaatst en vervolgens aan gebruikers geleverd die dicht bij de gevraagde gegevens staan. Sommige oplossingen gaan zelfs zo ver dat ze gegevens op afstand of op satellietlocaties lokaal in de cache opslaan, zodat die veelvoorkomende bits zich bevinden op de plek waar ze worden gebruikt en niet opnieuw over het WAN of een internetverbinding hoeven te worden getrokken.

Caching is vaak een voorkeursversnellingsmethode voor toepassingen, omdat het veel goedkoper is dan oplossingen die vergelijkbaar zijn en die afhankelijk zijn van infrastructuurverbeteringen. (Zie Welke schrijfbewerking is juist? Voor meer informatie over caching. Een blik op I / O-cachemethoden.)

Samenvatting

Misschien is de belangrijkste vuistregel bij het proberen om virtuele applicaties in elke omgeving te optimaliseren of te versnellen, eerst proberen caching en vervolgens die strategie aan te vullen met andere technologieën. Caching is de goedkoopste oplossing en ook de minst invasieve. Het beste advies is om voldoende RAM te kopen voor geheugencaching en SSD's voor hot data-caching. Probeer de kosten beheersbaar te houden, maar onthoud dat wanneer u geld uitgeeft aan infrastructuur en software, u dit kunt afschrijven over de levensduur van de technologie en het per gebruiker kunt spreiden om het management gemakkelijker te verteren. Uiteindelijk, houd uw gebruikers productief en gelukkig en zij zullen u winstgevend houden.