Der Zugriff auf die Datenbank ist von einer gehosteten Website sehr langsam und von localhost aus schnell

442
Madhav Shenoy

Wir haben ein Problem, das gerade aus dem Nichts aufgetaucht ist. Wir haben eine NopCommerce-Website, die unser Kunde von seinem eigenen Server gehostet hat. Wir haben 1 Webserver mit Windows 2008R2 IIS 7.5 und einen Datenbankserver mit Windows 2012 und SQL Server 2012 Standard. Die Website verfügt über ein SSL-Zertifikat von GoDaddy.

Seit einigen Wochen stehen wir vor schwerwiegenden Leistungsproblemen. Selects scheint gut zu funktionieren, aber wenn wir ein Update oder ein Einfügen in die Datenbank benötigen, dauert dies sehr lange. Wir haben also etwas Protokollierung hinzugefügt und das haben wir herausgefunden.

Wenn wir die Website lokal hosten, dh über localhost, nehmen Aktualisierungen 750 ms in Anspruch. Und für die gehostete Website sind 10-19 Sekunden für eine einzige Aktualisierungsanweisung erforderlich. Und wenn ich die Website kopiere und eine Datenbanksicherung mache, hosten Sie sie auf meinem Laptop, der Windows 10 Pro hat. Update-Anweisungen dauern 80 ms.

Nur damit ich klar bin, lädt die Website gut. Alle ausgewählten Abfragen funktionieren hervorragend. Nur wenn wir ein Produkt in den Warenkorb legen oder eine Admin-Einstellung aktualisieren, wenn die Leistung an die Hunde geht.

Könnte uns jemand in die richtige Richtung weisen? Wir sind nicht sicher, wo das Problem liegt.

Update: Hier gibt es mehr Infos. Das haben wir bisher gemacht. Wir dachten zuerst, dass dies ein Problem mit der IIS-Site selbst war. Also haben wir eine neue IIS-Site erstellt und die relavent Bindings hinzugefügt. Aber die Seite war noch langsam. Wir haben auch eine Entwicklungsseite, die eine andere externe IP-Adresse hat. Und diese Seite funktioniert absolut gut. Wir haben sogar versucht, diese Site auf unsere Produktionsmappe zu verweisen. Und es ging schnell. Wir haben unseren Netzwerkadministrator gefragt und er sagt, dass alles in Ordnung ist. Gibt es etwas, was uns fehlt?

0

1 Antwort auf die Frage

0
bloonacho

Was Sie also sagen, wenn Sie es lokal hosten, wird es schneller geladen als wenn es nicht lokal gehostet wird? Es kann zu Netzwerkproblemen auf den gehosteten Websites kommen, der lokale Zugriff ist jedoch schneller als der Zugriff auf die Ressourcen von einem gehosteten Standort aus.

Ich verstehe das. Aber würde es beim Zugriff auf die Datenbank einen so großen Unterschied geben? Ich kann eine gewisse Verzögerung verstehen. Aber eine Verzögerung von 18 Sekunden scheint ein bisschen zu viel zu sein, oder? Und die Website wird gut geladen. Auswahlabfragen funktionieren also hervorragend. Das Problem beginnt, wenn Sie versuchen, ein Produkt hinzuzufügen oder eine Admin-Einstellung auf der Website zu aktualisieren. Ich habe meine Frage aktualisiert, damit ich mehr Sinn habe. Madhav Shenoy vor 6 Jahren 1
Es kann vorkommen, dass der Standort der Datenbank Netzwerkstaus hat. Es gibt viele Variablen im Spiel. Im Allgemeinen gehe ich davon aus, mit einer größeren Bandbreite an Fehlerbehebungen zu beginnen, angefangen mit den Netzwerkstatistiken des SQL-Servers und der CPU / Arbeitsspeicher-Nutzung, falls sich kürzlich Änderungen in der Nutzung ergeben haben. Wenn Sie sich den Stapel nach oben durchgearbeitet haben, können Sie sich mit den detaillierteren SQL-Ausführungsplänen usw. auseinandersetzen. Ich bin kein persönlicher SQL-Datenbankadministrator, aber der Austausch von SQL-Stacks ist eine großartige Ressource Informationen in Bezug auf dieses.Reflink: https://dba.stackexchange.com/ bloonacho vor 6 Jahren 0
Nein, der Server befindet sich nicht in Australien und derzeit sind nicht viele Benutzer online. Ich habe sp_monitor auf dem SQL-Server ausgeführt, und es zeigt keine große Netzwerkauslastung oder CPU-Auslastung oder Speicherauslastung an. Hier einige Statistiken: cpu_busy: 187715 (19) -211% io_busy: 1899 (0) -0% Leerlauf 832879 (47) -522%. Hier ist der Screenshot des Task-Managers https://imgur.com/a/Bd3Yqmo. Und übrigens läuft das Update der Admin-Einstellungen noch. Madhav Shenoy vor 6 Jahren 0
Der einzige Grund, warum ich dies nicht im dba-Forum poste, ist, weil ich nicht glaube, dass dies ein db-Problem ist. Die hier in Rede stehende Datenbanktabelle hat 2000 Zeilen Madhav Shenoy vor 6 Jahren 0