2013-03-07 50 views
3

我正在使用System.Web.Sercurity.Membership方法來處理我們Web服務的用戶。測試期間,我對它很滿意,因爲我們的數據庫和Web服務駐留在同一臺服務器上。Membership.ValidateUser is Slow

當我們使用Membership.ValidateUser(username, password)命令對用戶進行身份驗證時,將數據庫和Web服務移動到不同的服務器時,我們將遇到大規模延遲。

配置文件的詳細信息:

type="System.Web.Providers.DefaultMembershipProvider, 
     System.Web.Providers, Version=1.0.0.0, Culture=neutral,  
     PublicKeyToken=*********" 
connectionStringName="BlaBlaConnection" 
enablePasswordRetrieval="false" enablePasswordReset="true" 
RequiresQuestionAndAnswer="false" requiresUniqueEmail="false"  
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" 
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
applicationName="/" 
+0

FYI:新的服務器具有更快的ping時間比最後一個。 – Mulvihic 2013-03-08 11:46:19

+2

Ping時間根本不表示性能,因爲它不測量處理時間。什麼是*大規模延遲*? – Yuck 2013-03-08 11:57:09

+0

ping不能反映數據庫響應的速度。看看它有什麼不同(可能是數據庫服務器設置)。 ping不反映數據庫和Web服務之間的連接速度有多快。當他們在同一個工作站上時,它可能會很快,但當他們在不同的機器上時,情況會有所不同(我不知道您的部署設置和連接類型,因此我無法做出更多假設/建議)。你確定它是問題的成員,而不是關於部署的其他內容? – 2013-03-08 13:51:06

回答

1

的問題是與數據庫箱 這篇文章幫助操作權限:https://elgg.leeds.ac.uk/webteam/weblog/15385.html

我們的數據庫中的人添加的應用程序池標識和域機身份數據庫框和.NET根目錄授予讀/寫訪問權限。

當服務器被重新成像對於這些目錄的UNC路徑並沒有在C:驅動器,所以當這已得到糾正的時機就一路下跌,他們沒有繼承「正常」的ACL權限

它仍然是我想要的東西有點慢(平均爲Membership.ValidateUser(username, password);Roles.IsUserInRole(username, item.Role)約4秒; 10000負荷每小時)

+0

鏈接已關閉。你有沒有另外的參考? – AndrewRalon 2016-08-08 19:50:40