2016-05-18 47 views
2

我想使用SQL Azure作爲ASP.NET MVC應用程序的數據庫。我擡起頭,這是此頁面上列出的Azure的SQL數據庫資源限制:https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/SQL Azure最大併發會話數

我有幾個問題:

  1. 列出的其中一個指標是「最大併發會話」。如果我理解正確,這是指一次可以登錄的最大用戶數。因此,如果我有一個使用Forms身份驗證的ASP MVC網站,用戶將存儲在SQL Azure的AspNetUsers表中),並且有2,000個登錄用戶同時主動使用網站,這是否意味着我有2,000個併發會話?

  2. 用戶可能永遠不會註銷並關閉瀏覽器。如果存儲在瀏覽器中的認證cookie不會過期,那麼他們下次訪問該網站時不需要再次登錄。這是否意味着即使他沒有使用網站,個人也會一直佔用整個會話,僅僅是因爲他沒有註銷?

  3. 目前可以容納最大併發會話數的數據庫是Premium P11數據庫。它可以容納最多32,000個併發會話。這看起來像一個非常小的數字。有許多網站和應用程序有成千上萬的用戶同時登錄。如果我們的網站需要有50,000個用戶同時登錄並積極使用該網站會怎麼樣?這是否意味着我們不能使用SQL Azure? (這聽起來不正確的給我,這使我相信我的併發會話的完整理解是不正確的)

回答

4

SQL服務器(和SQL數據庫)會議上什麼都沒有做與你的應用程序的用戶會話,並沒有什麼與您的最終用戶註銷有關。

SQL會話與連接構造有關,所以基本上,您的應用層有一組到SQL數據庫的連接(可能有一個,也許有一些 - 取決於您構建應用程序的方式,運行了多少實例等)。有些會話與這些連接相關聯。

因此......您對32,000個會話的評價是低數字:這不是32,000個用戶。它在您的應用服務器和數據庫之間創建了32,000個連接。

+0

感謝您清理大衛。我懷疑我誤解了它的工作原理,但需要知道他們在談論什麼的人的確認。純粹出於好奇,在現實生活中,有人需要在應用程序和數據庫之間建立32,000個連接?我懷疑有人會擴展到30K的Web應用程序實例。將單獨的軟件安裝連接到數據庫而不是通過應用程序層不是不好的做法嗎?同時我會將此標記爲正確答案。 – Gary