it-swarm.com.de

Wie können Sie die Ursache der Langsamkeit für einige Benutzer, aber nicht für alle, diagnostizieren?

Wir erhalten Berichte von einer Handvoll Benutzern, dass unsere Webanwendung für sie sehr langsam geladen wird. So langsam, dass viele ihrer Seitenanforderungen zeitlich begrenzt sind.

Die meisten unserer Benutzer erleben dies nicht.

Die Benutzer, die die Langsamkeit bekommen, haben keine Probleme, auf eine andere Site zuzugreifen.

Wir können uns in ihre Instanz der Anwendung einloggen und von unserer Verbindung aus ist alles schnell.

Wir haben eine gemeinsame Bildschirmnutzung mit den betroffenen Benutzern eingerichtet und festgestellt, wie langsam sie sind.

Diese Kunden sind sehr verärgert und beschuldigen uns, obwohl wir glauben, dass der Fehler woanders liegt. Wir werden Kunden verlieren.

tracert gibt nichts zurück. Bei jeder Anfrage tritt eine Zeitüberschreitung auf.

Ich bin hier wirklich außerhalb meines Fachwissens und ich habe keine Ahnung, wo ich anfangen soll, dieses Problem aufzuspüren. Jede Hilfe wäre wirklich dankbar.

2
matthew_360

Diese Probleme lassen sich oft nur schwer auf Origin zurückführen. Hier sind einige Dinge, die Sie tun können, um herauszufinden, wo genau das Problem liegt.

Ein einfacher Trick besteht darin, eine relativ große, aber nicht sehr große HTML-Datei zu erstellen und in den Webspace zu stellen. Optional können Sie ein paar große, aber nicht sehr große Bilder in die HTML-Datei einfügen. Sie können fragen, ob Ihre Benutzer (die Probleme haben) über einen bestimmten Zeitraum mehrmals auf diese Seite zugreifen möchten, um sicherzustellen, dass die Seite ordnungsgemäß geladen wird. Dies wird Ihnen ein paar Dinge sagen; dass das Problem kein Netzwerkproblem ist, dass es (im Allgemeinen) kein Browserproblem ist und dass es sich nicht um ein Webserverproblem handelt.

Wenn dies in Ordnung ist, können Sie auch Ihre Anwendung/Seite so ändern, dass das JavaScript zuletzt geladen wird, um festzustellen, ob beim Laden und Ausführen von JavaScript ein Fehler aufgetreten ist, der das Laden der Seite verhindert. Nicht alle Codefehler führen zu einer Ausnahme. Es ist möglich, dass bei einigen Browsern eine JavaScript-Inkompatibilität nach Marke und Version vorliegt. Nicht alle Browser führen JavaScript auf die gleiche Weise aus, sodass Code an einigen oder den meisten Stellen und an anderen nicht einwandfrei ausgeführt werden kann. Wenn Sie das JavaScript zuletzt laden, kann die Seite geladen werden, während der Fehler weiterhin auftritt. Dies weist auf ein mögliches JavaScript-Problem hin.

Wenn diese einfachen Tests gut funktionieren, würde ich zwei andere Dinge untersuchen.

Es sagt Ihnen vielleicht nicht viel, aber ich würde Chrome oder einen anderen Browser verwenden, der eine Analyse der Ladezeiten im Wasserfallstil bietet. Möglicherweise müssen Sie die Anwendung/Site durchsuchen oder die Seiten aktualisieren, bis das Problem erneut auftritt. Chrome verfügt über ein Entwicklertool, mit dem Sie feststellen können, ob beim Herunterladen/Rendern eines Teils Ihrer Seite/Site ein bestimmtes Problem vorliegt. Es wird nicht angezeigt, ob bei Abfragen oder anderen Elementen, die die Seite rendern, Wartezeiten auftreten, es wird jedoch angezeigt, dass die Seite nur langsam gerendert wird. Außerdem wird angezeigt, ob Bilder, JavaScript oder andere Ressourcen nicht ordnungsgemäß geladen werden.

Wenn Ihre Seite langsam gerendert wird, sollten Sie sich die Ursachen ansehen. Wenn eine Datenbankabfrage zum Beispiel gelegentlich langsam ist, können Sie bei Ihrem Datenbankserver nach Antworten suchen. Ich kenne SQL Server nicht mehr und kann Ihnen sagen, dass MySQL ein langsames Abfrageprotokoll hat, das aktiviert werden kann. Bei einigen Installationen ist diese Funktion während der Installation aktiviert. Es ist ein Neustart des Servers erforderlich, um diese Funktion zu aktivieren. Es empfiehlt sich jedoch, von Zeit zu Zeit einen Neustart durchzuführen, um langsamere Abfragen (auf jeden Fall) abzustimmen. Daher sollten Sie dies berücksichtigen, wenn Änderungen vorgenommen werden.

Schließlich gibt es möglicherweise immer ein Netzwerkproblem. Es kann dunkel sein. Ich verwende WireShark, wenn ich Probleme zu analysieren habe. Dies ist zu umfangreich und technisch, um es zu diskutieren. Sobald das Problem auftritt, sollten Sie in der Lage sein, den Netzwerkverkehr zu analysieren, um festzustellen, ob unterwegs Fehler vorliegen. Beispielsweise habe ich mit WireShark festgestellt, dass meine neue Firewall DNS-Abfragen fragmentiert, die gelegentlich fehlschlagen und Probleme verursachen und ziemlich frustrierend sind. Ich konnte den DNS-Abfrageverkehr anzeigen, um festzustellen, dass ein Berechtigung erforderlich - Bit gesetzt war (was normalerweise nicht schlecht ist), und die Abfrage wurde fragmentiert, sodass eine Berechtigungssuche ohne Angabe einer Ablaufverfolgung nicht erfolgreich war . Ohne das gesetzte Bit für die erforderliche Berechtigung würde die DNS-Abfrage nach Möglichkeit eine nicht autorisierende Antwort zurückgeben, selbst wenn die Anforderung fragmentiert wäre. Bei DNS-Abfragen für autorisierende Antworten darf die DNS-Abfrage jedoch nicht fragmentiert sein. Daher das Problem. Möglicherweise haben Sie ein Problem, das so dunkel ist. Es kann schwierig sein, zu finden. Hoffentlich nicht!

Es kann sehr frustrierend sein, wenn ein Kunde diese Probleme erlebt. Ich weiß! Es ist, als hätte man ein Ei im Gesicht, aber wie wir in der IT-Welt nur allzu gut wissen, passieren diese Dinge von Zeit zu Zeit. Der Schlüssel besteht darin, das Problem zu analysieren, um zu wissen, wo es zu suchen ist, und das Problem schnell zu lösen. Duh! Es ist aber auch wichtig, dass Ihr Kunde Sie dazu auffordert, das Problem zu lösen und genau zu sehen, wie technisch und undurchsichtig es sein kann. Sie mögen es nicht verstehen, aber sie werden es zu schätzen wissen, dass Sie das Problem mit größter Sorgfalt lösen können und dass Sie über eindeutige Fachkenntnisse bei der Suche nach dem Problem verfügen. Teufel! Sie können dir einen Kuchen backen oder dir ein Bier kaufen! Wäre das nicht schön? Wie der große und berühmte Homer sagte (das ist Simpson): "Hummmmm Kuchen." In der Tat, ich denke, er sagte auch "Hummmmm Bier".

2
closetnoc

Es gibt zwei Hauptansätze, um diese Art von Dingen herauszufinden. Bestimmen Sie entweder, welchen gemeinsamen Faktor die betroffenen Benutzer haben, oder was sich kürzlich geändert hat, sodass diese Benutzer plötzlich betroffen sind. Am besten nähern Sie sich aus beiden Richtungen, denn die Antwort ist eine Mischung aus beiden.

Was verbindet diese Benutzer miteinander?

Wenn sie keine Probleme mit anderen Sites haben, wird das Benutzer-Netzwerk dadurch abgeschnitten (es kann jedoch weiterhin netzwerkbezogen sein).

Wie ist Ihre Site Load Balancing? Treffen alle betroffenen Benutzer auf eine besonders langsame Instanz oder einen besonders langsamen Server? (Sie sollten eine Art Tool zur Überwachung der Serverleistung installiert haben, um dies zu erkennen.)

Verwenden diese Benutzer alle einen bestimmten Browser oder eine bestimmte Browserversion? Auf Ihrer Website ist möglicherweise ein Fehler aufgetreten, wenn diese Version auf sie zugreift.

Haben diese Benutzer ein gemeinsames Privileg oder eine gemeinsame Zugriffsebene auf der Site? Möglicherweise ist ein Fehler mit diesem Privileg verbunden.

Befinden sich diese Benutzer im selben geografischen Gebiet? Möglicherweise handelt es sich um einen lokalen ISP. (Wenn andere Websites in Ordnung sind, hat der ISP wahrscheinlich nichts damit zu tun.)

Was hat sich in letzter Zeit geändert?

Angenommen, diese Benutzer konnten zuvor normal auf die Site zugreifen, hat sich etwas geändert, um dieses Problem zu verursachen.

Wurden in letzter Zeit Änderungen an der Serverkonfiguration vorgenommen?

Wurden in letzter Zeit Code- oder Datenbankänderungen vorgenommen?

Gibt es neue Verkehrsmuster? (Schwall oder Flaute im Verkehr können sich auf die Art und Weise auswirken, in der Ihre Website zwischengespeichert wird.)

Umgang mit Tracert (alle Gutschriften an closetnoc für die Korrektur von mir)

Tracert verwendet Ping, um jeden Router einer vorgeschlagenen Route zu pingen. Ping kann an jedem Router auf dem Weg deaktiviert werden. Wenn also ein Tracert ausfällt, bedeutet dies, dass ... überhaupt etwas ... nicht korrekt ist. Dies bedeutet lediglich, dass eine Ping-Antwort auf einen beliebigen Punkt einer vorgeschlagenen Route fehlschlägt. Nichts mehr. Denken Sie daran, dass Tracert oft eine vorgeschlagene Route ist, die NICHT immer die tatsächliche Route ist. Es ist ein wichtiges Instrument, aber nicht immer ein Indikator für ein Problem. Ping-Anforderungen können in der Regel gelöscht werden, wenn der Datenverkehr normal verläuft.

tl; dr

Mir ist klar, dass das Beantworten einer Frage mit vielen weiteren Fragen keine gute Übung ist. Die Idee dabei ist, dass Sie sich diese Art von Fragen stellen müssen, bis Sie herausfinden, was die Benutzer zusammenhält (und was dann mit dieser Gemeinsamkeit zusammenhängt, warum sie alle betroffen sind) oder was sich in letzter Zeit geändert hat (und was dann mit der Ändern Sie uns, was kaputt gegangen ist, oder eine Kombination aus beiden (z. B. haben wir kürzlich eine neue Funktion gestartet, die bewirkt, dass die Site in IE 6 hängt, sodass nur die IE 6 Benutzer dies tun betroffen und es begann wegen der neuen Funktion passieren.)

5
Matt Giltaji

Sind alle Anfragen dieser Benutzer langsam oder nur einige von ihnen? Passiert es ihnen in allen Browsern? Können Sie ein Testprogramm schreiben, das die gleichen Abfragen auch ohne Browser ausführt? Ist Antivirus aktiviert? Firefox hat Safebrowsing, bei dem Google zuerst gefragt wird, ob die Seiten, die Sie besuchen möchten, sicher sind.

Das Beste, was Sie bekommen können, ist eine vollständige Ablaufverfolgung mit wireshark, sodass Sie sie analysieren und feststellen können, ob es sich um ein DNS-Problem handelt, um verworfene Pakete oder was auch immer. Die Installation ist auch nicht so schlimm. Wenn eine Remote-Sitzung für Sie geöffnet ist, können Sie alle Aktionen ausführen, außer das Administratorkennwort einzugeben.

Verwenden Sie SSL-Anforderungen (https)? Möglicherweise verwendet ihr Browser eine andere Methode für die Kryptografie.

Es kann sich um einen beliebigen Teil der Hardware handeln. Ist es möglich, einen anderen Computer in ihrem Netzwerk zu verwenden? Oder vielleicht einen ihrer Computer/Laptops in ein Netzwerk mitnehmen, in dem alles funktioniert? Vielleicht ein Handy mit Wifi?

Wenn nicht, können Sie ihnen eine Linux-Live-CD erstellen und sie dort Firefox ausführen lassen?

Bevor Sie aufgeben, müssen Sie eine Menge Dinge testen. Stellen Sie sicher, dass die Benutzer dies verstehen und dass Sie alles tun, um ihnen zu helfen. Oft sehen wir nur die technische Seite, aber auch hier geht es um Vertrauen.

Sie können ein naheliegendes PC-Support-Unternehmen beauftragen, das Sie bei der Analyse des Problems mit zusätzlicher Hardware unterstützt.

Natürlich wäre es hilfreich, wenn Sie weitere Details zu Ihrem Server und möglicherweise einen Link zu einem Demokonto veröffentlichen könnten, damit die Leute einen Blick darauf werfen und Sie weitere Ideen erhalten.

Oh, es gab auch etwas mit IPv6, bei dem zuerst versucht wurde, eine AAAA-Adresse aufzulösen, bevor IPv4-A-Adressen verwendet wurden. Ich erinnere mich nicht, wer das getan hat, aber Sie können diese Abfragen in einem Wireshark-Capture sehen. Auch die Windows-Namensauflösung im Ermittlungsmodus war einmal ein Problem.

4
maski