Fünf Möglichkeiten zur Beschleunigung virtueller Anwendungen

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Fünf Möglichkeiten zur Beschleunigung virtueller Anwendungen - Technologie
Fünf Möglichkeiten zur Beschleunigung virtueller Anwendungen - Technologie

Inhalt


Quelle: Viktorus / Dreamstime.com

Wegbringen:

Lernen Sie fünf Techniken, um virtuelle Anwendungen zu beschleunigen, ohne die Bank zu sprengen.

Eine der Frustrationen beim virtuellen Zugriff auf Anwendungen und Desktops ist die Leistung. Niemand möchte länger als ein oder zwei Sekunden warten, bis eine Anwendung nach dem Start angezeigt wird. Als Benutzer erwarten wir, dass unsere Anwendungen sofort nach einem Doppelklick auf das Symbol angezeigt werden. Wir wissen nicht, was im Hintergrund vor sich geht, um diese Anwendungen zwischen Server, über Firewalls, über Load Balancer, über Funk oder Kabel zu unseren Desktops und zu unseren Mobilgeräten zu übertragen. Unsere kollektive Geduld hat mit dem Versprechen einer besseren, schnelleren und sichereren Technologie nachgelassen und es ist Zeit für einen Moment des "Aufmachens" von Anbietern und Supportmitarbeitern gleichermaßen. Im Gegenzug teilen Anbieter und Supportmitarbeiter unsere Qualen und haben mit einigen Beschleunigungstechnologien reagiert, die eine Leistung auf oder in der Nähe von lokal installierten Ebenen liefern.


Für Benutzer dreht sich alles um die Geschwindigkeit. Im Gegensatz zu Benutzern suchen Architekten, Systemadministratoren und CIOs jedoch nicht nach einer schnelleren Reaktion auf Benutzer-Doppelklicks. Sie streben außerdem nach Skalierbarkeit, verbesserter Sicherheit und einer längeren Lebensdauer der Technologie als je zuvor. Letztendlich sind die Benutzer die schärfsten Kritiker des Anbieters und Supports. Aus diesem Grund ist die Erforschung virtueller Anwendungstechniken und -technologien in greifbarer Nähe. In diesem Artikel werden fünf Möglichkeiten zur Beschleunigung virtueller Anwendungen untersucht. Die fünf Lösungen sind in keiner bestimmten Reihenfolge angeordnet, aber alle konzentrieren sich auf einen der drei Schlüsselbereiche für die Optimierung und Beschleunigung: Infrastruktur, Anwendungscode und Bandbreite.

WAN- und LAN-Optimierung

Sie können die WAN- und LAN-Optimierung als eine Bandbreitenlösung bezeichnen, bei der das ultimative Ziel darin besteht, mehr Informationen und Daten auf effizientere Weise in eine Netzwerk-Pipeline zu integrieren. Da die Anwendungsleistung für Endbenutzer so wichtig ist, gibt es einige ausgeklügelte Methoden, um mehr Inhalte in kürzerer Zeit bereitzustellen, z. B. das Erstellen eines Content Delivery Network (CDN), das die Daten im Wesentlichen näher an den Verbraucher oder Endbenutzer bringt. Wenn Sie die Daten näher an den Benutzer heranrücken, wird die Latenz verringert, da die Daten weniger "Hops" oder Netzwerke durchlaufen müssen, um an ihr Ziel zu gelangen. Die meisten Cloud-Service-Anbieter verfügen bereits über CDNs, um Anwendungsanbietern die Bereitstellung verteilter Inhalte in der Nähe ihrer Kunden zu erleichtern.


Der Lastenausgleich optimiert die Bandbreite, indem Clientanforderungen auf mehrere Server oder auf mehrere Standorte verteilt werden, um die Last der Anwendungsbereitstellung besser zu teilen. Load Balancer beschleunigen die Anwendungsbereitstellung, indem sie die Verkehrsstaus beseitigen, die bei Benutzeranforderungen für eine einzelne Anwendung auftreten. Sie erhöhen jedoch auch die Zuverlässigkeit, indem sie die Anwendung effizient auf einem Server bereitstellen können, der nicht mit anderen Anforderungen überlastet ist.

Das Erhöhen der unformatierten Bandbreite zwischen Anwendungen und Clients scheint eine offensichtliche Verbesserung zu sein, um die Anwendungsbereitstellung zu beschleunigen. Wer kann behaupten, dass eine Gigabit-Netzwerkverbindung zwischen der Anwendungsinfrastruktur und dem Client-Computer eine schlechte Sache ist? Selbst eine schlecht entworfene und konzipierte Anwendung wird durch die Erhöhung der Bandbreite zwischen der Quelle und dem Ziel eine signifikante Leistungssteigerung erhalten.

Die Datenkomprimierung und die Verwendung komprimierter Medientypen wie JPEG, MPEG-4 und MP3 können sich erheblich auf die Anwendungsbereitstellung auswirken. Durch die Datenkomprimierung von Inhalten auf Basis von HTML, CSS und JavaScript kann die Ladezeit um mindestens 30 Prozent reduziert werden.

SSDs und Flash-Arrays

SSDs und Flash-Arrays scheinen die neue „Go-to“ -Technologie für jede Art der Leistungssteigerung von Anwendungen zu sein. Festkörperspeicher sind zwar weitaus schneller als rotierende Festplatten, sie sind jedoch auch erheblich teurer. Die Lösung könnte darin bestehen, SSDs anders zu betrachten - als Cache für „heiße“ Daten anstatt für Daten im Ruhezustand. SSDs können Daten viel schneller liefern als rotierende Festplatten, aber ein Teil dieser Effizienz geht bei der Übersetzung über das Netzwerk und über verschiedene Netzwerkkomponenten verloren. Wenn man jedoch den sogenannten „Flash-Cache“ verwendet, um die SSD-Geschwindigkeit zum Speichern von zwischengespeicherten Informationen zu nutzen, sind die Ergebnisse beeindruckend. Intel meldet eine bis zu 12-mal höhere Leistung bei der Verarbeitung von Transaktionsdatenbanken und eine bis zu 36-mal schnellere Verarbeitung von E / A-intensiven virtualisierten Workloads.

SSDs für das Zwischenspeichern von Daten sind aufgrund der Geschwindigkeit, mit der Daten abgerufen und im Speicher abgelegt werden können, sinnvoll. Und wenn SSDs nur für Caching-Zwecke verwendet werden, müssen deutlich weniger gekauft werden, um die daraus resultierenden Leistungssteigerungen zu erzielen. (Weitere Informationen zum Speicher finden Sie unter Optimieren der Enterprise-Speicherlösung.)

Keine Bugs, kein Stress - Ihre schrittweise Anleitung zur Erstellung lebensverändernder Software, ohne Ihr Leben zu zerstören

Sie können Ihre Programmierkenntnisse nicht verbessern, wenn sich niemand um die Softwarequalität kümmert.

Virtuelle GPUs

Wenn Sie jemanden fragen, der ein CAD-Programm, eine Videobearbeitungssoftware oder sogar eine Projektverwaltungsanwendung verwendet, in der diese Anwendungen geladen werden sollen, hören Sie den Refrain „lokal“. Wenn Sie diese grafikintensiven Anwendungen in eine virtuelle Umgebung verwandeln, ist dies eine Katastrophe bis zur Veröffentlichung der GPU-Technologie (Virtual Graphic Processing Unit).

Mit virtuellen GPUs kann schließlich jede Arbeitslast in eine virtuelle Maschine gestellt werden. Die CAD-Überbleibsel der alten Schule wurden nun ebenso aufgenommen wie Video-Editoren und Grafikdesigner. Sogar diejenigen, die in drei Dimensionen arbeiten, sind dank virtueller GPUs jetzt virtuell präsent.

Möglich wurde diese Technologie dadurch, dass spezielle GPU-Karten, die mit Hostsystemen für virtuelle Maschinen kompatibel sind, in diesen Hostsystemen installiert und ihre Hardwareattribute abstrahiert oder virtualisiert werden, damit sie von virtuellen Maschinen verwendet werden können.

Leistungsoptimierte Software

Verärgerte und frustrierte Systemadministratoren werden Ihnen häufig mitteilen, dass das Korrigieren von Code nicht ihre Aufgabe ist. Das allgegenwärtige Problem ist jedoch, dass Entwickler bei der Programmierung einer Anwendung zwar erstklassig sind, aber absolut keine Ahnung haben oder einen Hinweis auf die Optimierung des Codes für die Leistung erhalten möchten.Häufig wird die Einstellung vertreten, dass mehr RAM, schnellere Festplatten oder leistungsstärkere CPUs alle im Code möglicherweise vorhandenen leistungsbezogenen Probleme beheben. Dies trifft in gewissem Maße zu. Alternativ ist das Korrigieren von Code wesentlich kostengünstiger und einfacher zu lösen als das Wiederherstellen einer Infrastruktur, um nur schlecht geschriebene Anwendungen zu beschleunigen.

Es gibt solche wie den Computerpionier Donald Knuth, der über die Optimierung von Computercode sagte: „Wenn Sie alles optimieren, werden Sie immer unglücklich sein.“ Ungeachtet der Meinung von Herrn Knuth sollte die Optimierung von Code für ein ausgewogenes Maß an Verbesserung durchgeführt und toleriert werden . Aber was ist mit kommerziellen Programmen, die Sie erwerben und für Ihre Benutzer bereitstellen? Beispielsweise ist die immergrüne Microsoft Office-Suite eine Standardsuite von Anwendungen, die Systemadministratoren sowohl lokalen als auch Remotebenutzern zur Verfügung stellen müssen.

Bei kommerziellen Programmen, auf die Administratoren keinen Einfluss haben, müssen sie eine mehrschichtige Strategie zur Leistungssteigerung anwenden. Das Cachen gängiger Anwendungsbits ist die beste Technologie für Administratoren, um die Bereitstellung großer Anwendungen für Benutzer zu beschleunigen.

Caching

Jedes Mal, wenn Sie die Begriffe Preloading, Preprocessing oder Precompiling lesen oder hören, bezieht sich der Autor oder Sprecher höchstwahrscheinlich auf eine Art Caching. Das Zwischenspeichern von Anwendungen bezieht sich in der Regel auf das Laden bestimmter statischer und einiger dynamischer Inhalte in einen Speicherpuffer, damit sie auf Anfrage leicht abgerufen werden können. Die einzigen Bits, die auf dem gesamten Weg durch die Pipeline geliefert werden, sind diejenigen, die speziell mit dem Benutzer oder anderen zeit- oder sitzungsabhängigen Daten zu tun haben. Alles andere wird im Speicher zwischengespeichert.

Durch das Zwischenspeichern werden der Speicher, die Netzwerkbandbreite und die CPUs weniger beansprucht. Die Daten warten im Speicher, bis sie abgerufen werden, und setzen dann ihre viel kürzere Reise zum Endbenutzer fort. Die meisten Technologien kombinieren Caching mit Standort, um Inhalte schneller bereitzustellen. Mit anderen Worten, gemeinsame Daten - das sind Daten, die allen Benutzern gemeinsam sind - werden in die oben genannten CDNs gestellt und dann an Benutzer geliefert, die sich in der Nähe der angeforderten Daten befinden. Einige Lösungen gehen so weit, dass Daten lokal an entfernten oder Satellitenstandorten zwischengespeichert werden, sodass diese gemeinsamen Bits dort gespeichert werden, wo sie verbraucht werden, und nicht neu über das WAN oder eine Internetverbindung übertragen werden müssen.

Caching ist häufig eine bevorzugte Methode zur Anwendungsbeschleunigung, da es weitaus kostengünstiger ist als vergleichbare Lösungen, die auf Infrastrukturverbesserungen basieren. (Weitere Informationen zum Zwischenspeichern finden Sie unter Welche Schreibweise ist richtig? Ein Blick auf die E / A-Zwischenspeichermethoden.)

Zusammenfassung

Die grundlegende Faustregel beim Versuch, virtuelle Anwendungen in einer beliebigen Umgebung zu optimieren oder zu beschleunigen, besteht möglicherweise darin, zunächst das Zwischenspeichern zu versuchen und diese Strategie dann durch andere Technologien zu ergänzen. Caching ist die kostengünstigste und auch die am wenigsten invasive Lösung. Der beste Rat ist, viel RAM für das Zwischenspeichern von Speicher und SSDs für das Zwischenspeichern von Daten zu kaufen. Versuchen Sie, die Kosten überschaubar zu halten, aber denken Sie daran, dass Sie, wenn Sie Geld für Infrastruktur und Software ausgeben, diese über die gesamte Lebensdauer der Technologie amortisieren und auf die einzelnen Benutzer verteilen können, um das Management bei der Verdauung zu unterstützen. Am Ende sorgen Sie dafür, dass Ihre Benutzer produktiv und zufrieden sind, und sie werden Sie weiter beschäftigen.