Verbindungsprobleme mit Azure SQL-Datenbanken - Zu viele Verbindungen?

Ich habe eine Website, die ein White-Label ist (mehrere Versionen derselben Website), die ich kürzlich gestartet habe. Es gibt noch nicht viel Verkehr - hauptsächlich Bots, aber wahrscheinlich 800 Benutzer pro Tag. Es wird in Azure zusammen mit einer Azure-Datenbank und einem Verwaltungsbereich auf einem Nicht-Azure-Server gehostet. Beide Standorte stellen eine Verbindung mit derselben Azure-Datenbank her. Es werden auch einige Worker-Rollen ausgeführt, um Daten zu verarbeiten. In 99% der Fälle tun sie nichts, überprüfen sie jedoch regelmäßig.

Ich habe immer zufällige Fehler erlebt, die einige Sekunden andauern und dann ist es wieder in Ordnung, wie zum Beispiel:

Beim Empfang der Ergebnisse vom Server ist ein Fehler auf Transportebene aufgetreten. (Anbieter: TCP-Anbieter, Fehler: 0 - Eine vorhandene Verbindung wurde vom Remotehost zwangsweise geschlossen.)

Heute Morgen hatten wir jedoch ein ernsthafteres Problem. Es begann mit:

System.ComponentModel.Win32Exception: Eine vorhandene Verbindung wurde vom Remotehost zwangsweise geschlossen

Dies geschah, während Bots (Google, Baidu, AhrefsBot & Wiseguys.nl) die Site indizierten. Ich habe einen oder mehrere Fehler davon. Dann bekam ich:

System.Data.SqlClient.SqlException: Beim Verarbeiten Ihrer Anforderung ist beim Dienst ein Fehler aufgetreten. Bitte versuche es erneut. Fehlercode 40143. Beim aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Die Ergebnisse sollten, falls vorhanden, verworfen werden.

Dies war während einer ExecuteReader-Phase.

10 Minuten später trat das eigentliche Problem auf - das bedeutete, dass sich niemand bei der Administrationsoberfläche anmelden konnte, aber die von Azure gehostete Website schien in Ordnung zu sein, als ich sie testete, obwohl die Bots immer noch Fehler aufwiesen. Das Problem war:

System.ComponentModel.Win32Exception: Die Wartezeit ist abgelaufen

Dies wurde mit zufälligen Verbindungen fortgesetzt, die ungefähr eine Stunde lang ein- und ausgeschaltet waren. Dann bin ich auf ein anderes Problem gestoßen:

System.Data.SqlClient.SqlException: Ressourcen-ID: 1. Das Anforderungslimit für die Datenbank beträgt 180 und wurde erreicht. Sehen 'http://go.microsoft.com/fwlink/?LinkId=267637' zur Hilfe.

Dies geschah in der letzten Stunde ein und aus - hauptsächlich für die Arbeiterrollen. Ich habe dann versucht herauszufinden, was all diese Anfragen auf sich nahm und fand diesen Befehl:

SELECT * FROM sys.dm_exec_requests

Es wurden nur 1 oder 2 Anfragen zurückgegeben, als ich es immer wieder ausgeführt habe.

Daher lauten meine Fragen wie folgt: 1) Tritt bei anderen Personen regelmäßig (einmal, möglicherweise zweimal am Tag) eine vorübergehende Trennung von dem auf Azure gehosteten Server auf? 2) Weist die Liste der oben genannten Ereignisse auf ein bestimmtes Problem hin? Dies kann alles passiert sein, wenn sich viele Administratoren gleichzeitig angemeldet haben. 3) Wie kann ich die Anzahl der Anfragen an die Datenbank besser debuggen, wenn ich die Meldung 180 limit erhalte?

Danke im Voraus.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage