Wünschen wir uns nicht alle, dass unsere Anwendungen einwandfrei funktionieren? Leider sind Anwendungen so komplex geworden, dass es komplizierter denn je ist, sicherzustellen, dass sie reibungslos funktionieren. Moderne Anwendungen haben mehrere Ebenen. Es gibt das Front-End, das sich um Benutzerinteraktionen kümmert. Es gibt auch ein Back-End, das den größten Teil der umfangreichen Verarbeitung übernimmt. Und schließlich gibt es oft eine Datenbank, in der die Daten der Anwendung gespeichert werden. All diese Komponenten, die auf unterschiedlichen Rechnern laufen können – und oft auch laufen – müssen miteinander kommunizieren. Nicht nur das, sie müssen auch schnell auf die Anfragen des anderen reagieren. Aber da das Backend oft mehrere Frontends und die Datenbank oft mehrere Backends bedient, kann es kompliziert werden. Dies ist der Zeitpunkt, an dem die Anwendungsleistung häufig beginnt, sich zu verschlechtern. Und wenn das passiert, müssen Sie das richtige Tool verwenden, um die Situation zu überwachen und die Leistung zu optimieren. Dies ist das Thema unseres Artikels und wir sind dabei, die besten Tools zur Optimierung der Anwendungsleistung zu überprüfen.
Bevor wir einige der besten Produkte tatsächlich überprüfen, werden wir zunächst über die Anwendungsleistung sprechen. Wir werden uns ansehen, was es ist und warum es so wichtig ist. Dann besprechen wir die Optimierung der Anwendungsleistung, was sie ist und was sie beinhaltet. Wir werden auch über die Einrichtung eines Benchmarks sprechen, da Sie damit die Verschlechterung – oder Verbesserung – der Anwendungsleistung messen können. Danach werden wir die Tools selbst untersuchen, was sie sind und was sie tun, bevor wir schließlich einige der besten Tools zur Optimierung der Anwendungsleistung überprüfen.
Inhaltsverzeichnis
Die Bedeutung der Anwendungsleistung
Bevor wir beginnen, ist es wichtig, dass wir alle auf derselben Seite sind, was wir meinen, wenn wir über Anwendungsleistung sprechen. Es kommt nicht nur darauf an, wie gut Microsoft Word oder die Browser Chrome oder Firefox laufen. Ja, das sind Anwendungen, und auch sie können unter Leistungsproblemen leiden, aber wir denken an die Leistung von internen oder benutzerdefinierten Anwendungen. Welche Bedeutung hat also die Anwendungsleistung? Während verschiedene Leute unterschiedliche Antworten finden würden, hat es im Allgemeinen mit der Produktivität zu tun. Diese internen oder benutzerdefinierten Anwendungen erfüllen einen bestimmten Zweck, und wenn ihre Leistung nicht gegeben ist, leidet die Produktivität. Schlicht und einfach.
Es ist wahrscheinlich sogar noch wichtiger, wenn Sie im Software as a Service (SaaS)-Geschäft tätig sind, da diese internen und benutzerdefinierten Anwendungen verwendet werden, um Dienste für Kunden bereitzustellen. Dann könnte ein Leistungseinbruch Kunden dazu veranlassen, die Nutzung konkurrierender Dienste in Betracht zu ziehen.
Es gibt hauptsächlich zwei Stellen, an denen die Anwendungsleistung beeinträchtigt werden kann. Der erste ist die Kommunikation zwischen den Komponenten. Da die verschiedenen Ebenen normalerweise auf verschiedenen Computern ausgeführt werden, erfolgt die Kommunikation häufig über ein Netzwerk, und Netzwerke können, wie Sie höchstwahrscheinlich wissen, unter allen Arten von Leistungseinbußen leiden.
Die andere Stelle, an der die Anwendungsleistung häufig beeinträchtigt werden kann, sind die Server selbst. Wenn beispielsweise ein Back-End-Server überlastet ist, kann dies die Antwort auf Anfragen von den Front-Ends verzögern, was zu Leistungsproblemen führen kann. Dasselbe gilt für Anfragen vom Back-End-Server an die Datenbanken.
Optimierung der Anwendungsleistung
Die Optimierung der Anwendungsleistung ist nicht anders als die Problembehandlung. Der erste Schritt besteht darin, genau zu bestimmen, woher der Leistungseinbruch kommt. Sobald Sie wissen, woher das Problem kommt, müssen Sie es nur noch lösen, indem Sie die Grundursache beheben. Dies macht das Finden der Grundursache zum zweiten Schritt zur Optimierung der Anwendungsleistung.
Sobald die Ursache für die Leistungsminderung Ihrer Anwendung bekannt ist, müssen Sie sie nur noch beheben. Wenn beispielsweise der Back-End-Server überlastet ist, ist es vielleicht an der Zeit, einen zweiten Server hinzuzufügen oder diesen durch Hinzufügen von Prozessorkernen oder Speicher aufzurüsten. Wenn die Ursache für die Verschlechterung die Tatsache ist, dass das Netzwerk zwischen zwei Komponenten überlastet ist und Verzögerungen verursacht, ist es möglicherweise an der Zeit, das Netzwerk zu aktualisieren. Dies geschieht typischerweise bei WAN-Verbindungen, bei denen ein Upgrade oft nur einen Anruf beim Anbieter entfernt ist.
Festlegung einer Benchmark für zukünftige Vergleiche
Die meisten Anwendungen beginnen mit einer akzeptablen Leistung. Die Dinge verschlechtern sich jedoch oft im Laufe der Zeit, wenn immer mehr Menschen die Anwendung verwenden oder die Datenmenge, die sie verarbeitet, größer wird. Früher oder später – oft früher – wird zwangsläufig eines von zwei Dingen passieren. Benutzer werden sich darüber beschweren, dass die Anwendung nicht mehr so schnell ist wie früher, oder dass die Anwendung tatsächlich langsamer wird.
Benutzer sind keine Lügner, sie neigen nur dazu, eine verzerrte Wahrnehmung zu haben und ehrlich zu denken, dass die Anwendung langsamer ist, obwohl sie eigentlich gut funktioniert. Hier kann Benchmarking hilfreich sein. Sie müssen vorher die Leistung Ihrer Anwendung messen. Wenn sich Benutzer dann beschweren, können Sie einfach die aktuelle Messung mit der ursprünglichen – dem Benchmark – vergleichen und sehen, ob und um wie viel sie sich tatsächlich verlangsamt hat, oder nachweisen, dass sie immer noch gut funktioniert. Einen Benchmark zu haben und ihn regelmäßig mit der aktuellen Leistung zu vergleichen, kann Ihnen auch dabei helfen, Leistungseinbußen zu erkennen, bevor die Benutzer sie bemerken.
Über die Werkzeuge
Es gibt alle Arten von Tools, mit denen man die Anwendungsleistung optimieren kann, und alle haben eines gemeinsam, sie müssen sie irgendwie messen oder überwachen. Die meisten Tools zur Optimierung der Anwendungsleistung sind eigentlich Überwachungs- oder Analysetools für die Anwendungsleistung, da Sie diese verwenden, um Leistungsprobleme zu finden und die Ergebnisse Ihrer Optimierungsbemühungen zu messen.
Leider kümmern sich die meisten dieser Tools nicht um die eigentliche Optimierung. Sie helfen Ihnen zu erkennen, ob und wo ein Leistungsproblem vorliegt. Einige werden sogar Möglichkeiten zur Optimierung vorschlagen, aber sie werden die Arbeit nicht für Sie erledigen. Das ist sinnvoll, es gibt viel zu viele Variablen und Anwendungen sind zu unterschiedlich, um ein universelles Tool zu erstellen, das Anwendungsprobleme beheben könnte. Möchten Sie trotzdem ein automatisiertes Tool zum Ändern Ihres Codes?
Das beste Tool zur Optimierung der Anwendungsleistung
Unsere Liste enthält eine Vielzahl von Tools. Einige sind Tools zur Überwachung der Anwendungsleistung. Andere überwachen die Datenbankleistung. Wir haben sogar ein Bundle, das diese beiden Tools kombiniert. Im Gegensatz zu anderen Arten von Tools – wie zum Beispiel Tools zur Bandbreitenüberwachung, die alle ziemlich gleich funktionieren – unterscheiden sich Tools zur Optimierung der Anwendungsleistung stark in ihren Aufgaben und ihrer Funktionsweise. Wir haben versucht, eine gute Mischung aus dem, was da draußen verfügbar ist, einzubeziehen.
1. Leistungsoptimierungspaket für SolarWinds-Anwendungen (kostenlose Testversion)
Unser erster Eintrag ist kein Tool, sondern ein Bündel von Tools von SolarWinds, einem Unternehmen, das seit etwa 20 Jahren einige der besten Netzwerkverwaltungstools herstellt. Es wird von vielen hoch angesehen und sein Flaggschiffprodukt, der SolarWinds Network Performance Monitor, erhält durchweg Top-Bewertungen als eines der besten Tools zur Überwachung der Netzwerkbandbreite. Als ob dies nicht genug wäre, ist SolarWinds auch für seine kostenlosen Tools bekannt, kleinere Produkte, die jeweils auf einen bestimmten Bedarf von Netzwerkadministratoren eingehen. Der SolarWinds Advanced Subnet Calculator und der Kiwi Syslog Server sind zwei gute Beispiele für diese kostenlosen Tools.
Zurück zur Optimierung der Anwendungsleistung: Das Angebot von SolarWinds heißt Application Performance Optimization Pack. Dies ist ein Paket, das aus zwei hervorragenden Tools besteht, dem Server and Application Monitor und dem Database Performance Analyzer. In einem Satz bietet das Bundle eine Full-Stack-Lösung zur Optimierung der Anwendungs-, Datenbank-, Virtualisierungs- und Serverleistung.
In Kombination bieten die beiden Tools eine unübertroffene Reihe nützlicher Funktionen. Beispielsweise können Sie mit der Antwortzeitanalyse die Grundursache von Problemen mit der Anwendungsantwort erkennen. Darüber hinaus helfen Ihnen historische Analysen und dynamische Basislinien dabei, Abstimmungsprobleme zu erkennen. Der SolarWinds Server and Application Monitor basiert auf einer agentenlosen Architektur, damit Sie Hunderte von Produktionsinstanzen bei minimaler Last im Auge behalten können. Dies gilt nicht nur für interne oder kundenspezifische Anwendungen. Das Tool enthält über zweihundert Anwendungsvorlagen, mit denen Sie die Anwendungsleistung sofort überwachen können. Selbstverständlich haben Sie auch die Möglichkeit, Vorlagen für Eigenentwicklungen zu erstellen. Mit der CPU-, Arbeitsspeicher- und Festplattenkapazitätsplanung ermöglicht Ihnen das Bundle eine effiziente Fehlerbehebung, um Probleme schnell zu lösen.
Über diesen Link können Sie die voll funktionsfähige 30-Tage-Testversion nutzen.
Lassen Sie uns in der Zwischenzeit einen genaueren Blick auf jedes der Tools werfen, die im SolarWinds Application Performance Optimization Pack enthalten sind.
1.1 SolarWinds Server und Application Monitor (kostenlose Testversion)
Der SolarWinds Server And Application Monitor wird von seinem Herausgeber als „Serverüberwachungssoftware zum Auffinden und Beheben von Anwendungsproblemen“ beschrieben. Konkret können Sie mit diesem Tool jede Anwendung, jeden Server und überall überwachen. Sie können damit die Leistung, Kapazität und den Zustand von Linux- und Windows-Apps in Rechenzentren, Remote-Büros und in der Cloud proaktiv überwachen.
Dies ist eine umfassende Serverüberwachungsplattform für Microsoft-Anwendungen, -Systeme, -Hypervisoren und -SaaS-Produkte. Es ist auch ein großartiges Produkt für die Überwachung von Cloud-basierten Infrastrukturen. Sie können es verwenden, um Azure- und AWS-Infrastrukturmetriken zu überwachen und Warnungen zu erhalten. All dies erfolgt innerhalb desselben Dashboards wie Ihre lokalen Anwendungen und Systeme. Apropos Dashboard des Produkts, mit dem Sie über 1200 Anbieteranwendungen, Server, Datenbanken und Speicher überwachen können, alles über eine einzige, benutzerfreundliche und anpassbare Weboberfläche. Das Serverüberwachungstool SolarWinds Server und Application Monitor bietet eine automatisierte Erkennung und Zuordnung von Anwendungen und Infrastruktur. Es verfügt auch über anpassbare Überwachungsvorlagen sowie vorgefertigte Warnungen und Berichte.
Die Preise für SolarWinds Server und Application Monitor basieren auf der Anzahl der überwachten Komponenten, Knoten und Volumes und beginnen bei 2.995 US-Dollar für 150 Monitore. Wie bei den meisten anderen SolarWinds-Produkten steht eine kostenlose 30-Tage-Testversion zum Download bereit, falls Sie das Produkt vor dem Kauf ausprobieren möchten.
1.2 SolarWinds Database Performance Analyzer (kostenlose Testversion)
Der SolarWinds Database Performance Analyzer überwacht und analysiert Ihre SQL-Datenbankinstanzen, um Probleme zu lösen und die Leistung zu optimieren. Mithilfe einer Response Time Analysis-Methode konzentriert es sich auf die Zeit zwischen einer Abfrageanforderung und der entsprechenden Antwort aus der Datenbank und analysiert Wartetypen und Ereignisse, um Engpässe in Datenbanken zu lokalisieren.
Dieses Produkt verfügt über eine benutzerfreundliche Oberfläche, die Administratoren dabei helfen kann, Probleme schnell und einfach zu finden. Auf dem Hauptbildschirm können Sie Datenbankinstanzen, Wartezeiten, Abfragehinweise, Prozessorlast, Speicher, Festplatte und Sitzungen anzeigen. Sie können das Trend-Dashboard einer bestimmten Datenbankinstanz anzeigen, das Ihnen die gesamten Wartezeiten der Benutzer im Laufe eines Monats in grafischer Form anzeigt. Es kann auch Ihre Wahl zwischen durchschnittlichen oder typischen Tageswartezeiten darstellen. In dieser Ansicht repräsentiert jede Diagrammfarbe eine einzelne SQL-Anweisung. Was Sie erhalten, ist eine visuelle Darstellung dessen, welche Anweisung am längsten benötigt, um ausgeführt zu werden.
Die Preise für den SolarWinds Database Performance Analyzer beginnen bei 1.995 US-Dollar und variieren je nach Anzahl und Typ der zu überwachenden Datenbankinstanzen. Auch hier ist eine voll funktionsfähige Testversion verfügbar, obwohl diese nur 14 Tage dauert. Wenn Sie jedoch die Testversion als Teil des SolarWinds Application Performance Optimization Pack herunterladen, erhalten Sie eine vollständige 30-Tage-Testversion.
2. ManageEngine-Anwendungsmanager
ManageEngine ist zwar nicht so bekannt wie SolarWinds, aber dennoch ein weiterer Name, der unter Netzwerkadministratoren einen hervorragenden Ruf genießt. Wie Sie aus seinem Namen erraten können, befasst sich der ManageEngine Application Manager mit der Anwendungsverwaltung. Dies ist jedoch ein etwas irreführender Name, da es sich sowohl um eine Überwachungsplattform als auch um ein Verwaltungstool handelt.
Dieses Tool bietet eine integrierte Überwachung der Anwendungsleistung für alle Ihre Anforderungen an die Server- und Anwendungsüberwachung. Dies ist auch für die zugrunde liegenden Infrastrukturkomponenten wie Anwendungsserver, Datenbanken, Middleware- und Messaging-Komponenten, Webserver, Webservices, ERP-Pakete, virtuelle Systeme und Cloud-Ressourcen möglich. In wenigen Worten, dies ist eine allumfassende Plattform.
Mit diesem Tool kann man viel machen. Beispielsweise können Sie Anwendungsreaktionszeiten mit Informationen auf Codeebene über Ihre Anwendungsleistungsüberwachungsumgebung verfolgen. Mit der Transaktionsverfolgungsfunktion können Sie langsame Transaktionen erkennen. Es überwacht die Ausführung von Datenbankabfragen und verfolgt Hintergrundtransaktionen.
Der ManageEngine Application Manager ist in mehreren Editionen verfügbar. Es gibt eine funktionsbeschränkte kostenlose Edition sowie eine kostenpflichtige Professional- und Enterprise-Version. Die Preise beginnen bei 945 $ und Einzelheiten können bei ManageEngine erfragt werden. Eine kostenlose 30-Tage-Testversion ist ebenfalls verfügbar.
3. AppDynamics-APM
Appdynamics, das jetzt ein Teil von Cisco ist, hat ein großartiges Application Performance Management-Tool zur Verfügung, das einfach Appdnamics APM heißt. Dieses hervorragende Tool erkennt, kartiert und visualisiert automatisch Ihre kritischen Customer Journeys durch jeden Anwendungsservice und jede Infrastrukturkomponente. Es bietet Managementteams eine einzige Informationsquelle, um sich auf die End-to-End-Leistung im Kontext des Kundenerlebnisses zu konzentrieren, anstatt einzelne Services zu überwachen.
Dieses Tool nutzt maschinelles Lernen, um zu lernen, was die normale Leistung ist, und baut effektiv seine eigene Baseline der Anwendungsleistung auf. Dadurch kann das Tool Sie warnen, wenn die Leistung nicht normal ist. Es gibt eine direkte Integration mit ServiceNow, PagerDuty und Jira, sodass Sie sofort benachrichtigt werden und Probleme beheben können, bevor Kunden sie bemerken.
Ein weiteres großartiges Feature ist die sofortige, automatisierte Diagnose auf Codeebene. Seine umfassenden Diagnosefunktionen ermöglichen es Ihnen, die Grundursache bis hin zur einzelnen Codezeile zu identifizieren. Ihr Team muss keine Protokolldateien durchsuchen, was wertvolle Entwicklerzeit spart.
Appdynamics APM ist in mehreren Versionen verfügbar. Das grundlegendste heißt APM Pro. APM Advanced fügt Funktionen für Serversichtbarkeit und Netzwerksichtbarkeit hinzu. Die oberste Ebene heißt APM Peak und umfasst alle Funktionen von APM Advanced sowie die Überwachung der Geschäftsleistung, Transaktionsanalysen und Geschäftsreisen. Preise können durch Kontaktaufnahme mit Appdynamics erfragt werden und eine 30-Tage-Testversion ist verfügbar.
4. Dynatrace
Dynatrace ist eine Cloud-basierte Software as a Service (SaaS), die Anwendungen automatisch erkennen, lösen und optimieren kann. Um ein komplexes Anwendungsökosystem zu entdecken und abzubilden, müssen Sie nur den Dynatrace OneAgent installieren. Das Tool gibt Ihnen einen detailgetreuen Überblick über Ihren gesamten Anwendungsstapel, von der Leistung der Anwendungen, der Cloud-Infrastruktur und der Benutzererfahrung. Es hilft Ihnen dabei, Probleme zusammen mit ihren geschäftlichen Auswirkungen und Ursachen mühelos zu erkennen.
Dynatrace behauptet, die breiteste Abdeckung aller Überwachungslösungen in Bezug auf unterstützte Sprachen, Anwendungsarchitekturen, Cloud, On-Premise oder Hybrid, Unternehmensanwendungen, SaaS-Überwachung und mehr zu haben. Das Tool erkennt und überwacht automatisch dynamische Microservices, die in Containern ausgeführt werden. Es zeigt Ihnen, wie sie funktionieren, wie sie miteinander kommunizieren, und hilft Ihnen, Microservices mit schlechter Leistung schnell zu erkennen.
Die Preise für Dynatrace sind nicht ohne weiteres verfügbar und können anscheinend nur erhalten werden, wenn Sie sich zuerst für die kostenlose 15-Tage-Testversion anmelden. Dann müssen Sie nur noch den Agenten auf Ihren Servern installieren und Sie könnten innerhalb von 5 Minuten mit der Überwachung beginnen.
5. Neues Relikt-APM
Als letztes auf unserer Liste steht New Relic APM, eine Cloud-basierte SaaS-Software-Analytics-Plattform, die Application Performance Management und echte Benutzerüberwachung bietet. Es funktioniert sowohl mit in der Cloud als auch in Rechenzentren bereitgestellten Webanwendungen, die in Ruby, Java, .NET, Python, PHP und Node.js implementiert sind. Das Produkt bietet auch mobile Überwachungslösungen für iOS- und Android-Anwendungen.
New Relic APM überwacht vom Front-End bis zur Infrastrukturebene. Es unterstützt On-Premises-, Cloud- und Hybrid-Setups. Das Tool verfolgt jede Änderung in all Ihren Apps und Diensten mit punktgenauer Klarheit und vollständigem Kontext. Mit einer kuratierten Benutzeroberfläche, die Ihnen einen einzigen, umfassenden Überblick über Ihren gesamten Anwendungsstapel bietet, müssen Sie nicht zwischen Tools und benutzerdefinierten Ansichten wechseln. Alles ist leicht in einem einzigen Fenster zu finden.
New Relic APM ist in zwei Versionen erhältlich, Essentials ab 75 $/Monat und Pro ab 149 $/Monat, wobei letztere erweiterte Funktionen wie längere Aufbewahrungszeiten, Service-Maps, Deployment-Tracking und SLA-Berichte bietet. Eine kostenlose 14-tägige Testversion beider Versionen ist verfügbar.