在我們基於sitecore 6.6.0(rev。130404)的項目中,我們需要將數據從舊系統的數據庫遷移到sitecore數據庫。我們需要遷移650,000個物體。來自舊數據庫的這些對象中的每一個都將在master數據庫中創建大約4個sitecore項目。所以這是一組相當大的數據被遷移。Sitecore - 增加大號碼時性能越來越差。的項目
我們將sitecore API與windows應用程序連接起來,並從該應用程序運行數據遷移邏輯。在數據遷移初期,情況非常快,每秒鐘大約有4個對象被傳輸到sitecore master數據庫。前10,000個對象只需要40分鐘。按照這個速度,人們會預測在7個小時內將有10萬個物體被遷移。
但問題是隨着時間的推移,事情變得越來越慢,速度明顯變慢。遷移了大約100,000個物體後,現在只需要7個小時就可以遷移30,000個物體。我甚至按照性能調整指南中的提示重新創建了sitecore數據庫索引。我們也不執行任何sitecore查詢來查找將新創建的sitecore項目放在哪裏。我們的數據遷移正在進行時,沒有sitecore代理或lucene索引更新操作正在運行。
下面是在數據遷移的邏輯開頭的代碼:
using (new Sitecore.SecurityModel.SecurityDisabler())
using (new Sitecore.Data.Proxies.ProxyDisabler())
using (new Sitecore.Data.DatabaseCacheDisabler())
using (new Sitecore.Data.BulkUpdateContext())
能爲這個緩慢的原因是Sitecore的數據庫索引的增長。我不是SQL專家,但經過一番閱讀後,我得到了關於指數運營統計的報告。我不確定這些數字是否表明我們問題的原因。
任何人可以用比我好Sitecore的/ SQL的知識,幫助這個嗎?
編輯:經過多點挖掘後,我得到了sql服務器鎖存器的統計數據(不太瞭解這些)。
感謝
現在有點老了,但是您是否從Sitecore論壇獲得了有關解決您的問題的其他方法的任何反饋? –
Sitecore支持提到他們不支持在媒體庫之外創建媒體項目,並且他們的代碼未針對我們的用例進行優化。他們基本上說要遵循sitecore的最佳實踐。但是這已經是Sitecore 6.5的一段時間了。我已經與Sitecore脫離了很長一段時間,所以事情可能現在已經改變了。但我記得我們設法使用重複的MediaCreator類來解決這個問題。 – ravinsp