Problemy z łącznością bazy danych SQL Azure - Zbyt wiele połączeń?

Mam witrynę, która jest białą etykietą (wiele wersji tej samej witryny), którą ostatnio uruchomiłem. Nie ma jeszcze dużego ruchu - głównie botów, ale prawdopodobnie 800 użytkowników dziennie. Jest on hostowany na platformie Azure z bazą danych Azure oraz panelem administracyjnym znajdującym się na serwerze innym niż Azure. Obie witryny łączą się z tą samą bazą danych Azure. Istnieją również niektóre role robocze działające w celu przetwarzania danych - 99% czasu nie robią nic, ale sprawdzają regularnie.

Zawsze doświadczałem losowych błędów, które trwają kilka sekund, a potem znowu jest OK, takich jak:

Wystąpił błąd na poziomie transportu podczas odbierania wyników z serwera. (dostawca: dostawca TCP, błąd: 0 - istniejące połączenie zostało przymusowo zamknięte przez zdalnego hosta).

Dziś rano mieliśmy poważniejszy problem. Zaczęło się od:

System.ComponentModel.Win32Exception: istniejące połączenie zostało przymusowo zamknięte przez zdalnego hosta

Nastąpiło to podczas indeksowania witryny przez roboty (Google, Baidu, AhrefsBot i Wiseguys.nl). Dostałem od nich jeden lub więcej błędów. Potem dostałem:

System.Data.SqlClient.SqlException: usługa napotkała błąd podczas przetwarzania żądania. Proszę spróbuj ponownie. Kod błędu 40143. Wystąpił poważny błąd w bieżącym poleceniu. Wyniki, jeśli istnieją, należy odrzucić.

Było to podczas fazy ExecuteReader.

10 minut później pojawił się prawdziwy problem - co oznaczało, że nikt nie mógł zalogować się do interfejsu administratora, ale witryna testowa hostowana na Azure wyglądała dobrze, gdy ją testowałem, chociaż boty wciąż zgłaszały błędy. Problem polegał na:

System.ComponentModel.Win32Exception: Upłynął limit czasu operacji oczekiwania

Trwało to przy włączonych i wyłączonych losowych połączeniach przez około godzinę. Potem trafiłem na inny problem:

System.Data.SqlClient.SqlException: Identyfikator zasobu: 1. Limit żądania dla bazy danych wynosi 180 i został osiągnięty. Widzieć 'http://go.microsoft.com/fwlink/?LinkId=267637' do pomocy.

Nastąpiło to w ciągu ostatniej godziny - głównie dla ról roboczych. Następnie próbowałem dowiedzieć się, co podejmuje wszystkie te żądania i znalazłem to polecenie:

SELECT * FROM sys.dm_exec_requests

Zwracałem tylko 1 lub 2 żądania, gdy je uruchomiłem w kółko.

Oto moje pytania: 1) Czy ktoś inny doświadcza stosunkowo regularnego (raz, może dwa razy dziennie) tymczasowego odłączenia się od serwera hostowanego na platformie Azure? 2) Czy powyższa lista zdarzeń wskazuje na konkretny problem? Wszystko to mogło mieć miejsce, gdy wielu administratorów logowało się od razu. 3) Jak mogę lepiej debugować liczbę żądań do bazy danych, gdy otrzymam wiadomość o limicie 180?

Z góry dziękuję.

questionAnswers(3)

yourAnswerToTheQuestion