0

我很遺憾,我在Azure託管的MVC 3 SQL Azure支持的開發中使用最新的Universal Providers進行會員管理。我已經編寫了一個例程來從CSV文件批量創建用戶。文件被解析並填充模型。然後我遍歷創建用戶的集合。通用會員供應商創建用戶性能問題

,它利用時間數量驚人的關鍵線是標準

​​

即使是一個「大」 4核心服務器上,這一條線幾乎可以把1秒完成。這意味着10,000個用戶需要將近3個小時。要直接進入數據庫,如果可能的話,可能需要幾分鐘的時間。

更糟的是,我還需要檢查現有用戶並更新他們,如果他們這樣做。我已經加入了必要的索引,並且數據庫非常快。坦率地說,這個提供者能做什麼?

我做錯了什麼,或者這個供應商對大規模系統完全沒用?有沒有其他人有這些問題?

我甚至不會進入配置文件提供程序,只要說我寫了我自己的!

+0

不確定,聽起來像一個設置問題。我已經使用了內置的功能,並且自己推出了 - 它們並沒有做太多的工作)檢查用戶名是否唯一,b)對密碼進行散列/加密,以及c)將數據插入數據庫。沒有更多的幫助,但我從來沒有遇到過這個「緩慢」的問題。 – Tommy 2012-04-19 03:12:49

回答

2

雖然我以前沒有使用該提供程序,但關鍵是要同時創建多個用戶。每個用戶1秒是合理的。而且,大部分時間都花在等待數據庫返回上。當前線程正在等待數據庫返回時,我想建議您創建一個新線程來開始創建另一個用戶。因此,不要在普通的foreach循環中逐一創建用戶,請使用Parallel.ForEach,它將自動並行創建用戶,您可以參考http://msdn.microsoft.com/en-us/library/dd460720.aspx作爲示例。

最好的問候,

Ming Xu。

+1

好主意。我會放棄這一點。在這種情況下,我認爲數據庫非常快,因爲我有另一個向數據庫添加數據的例程,並且它大約會插入20-30次。 – NER1808 2012-04-19 12:52:34

+0

「每個用戶1秒是合理的」o_0。你抽菸嗎?這是可怕的表現。 – Quibblesome 2013-03-07 11:55:56

+0

@Quibblesome許多輪SHA1哈希不計算自己。 – 2013-12-17 06:16:25