SharePoint 2013 列表關於大數據的測試


  本文主要介紹SharePoint列表庫的效率問題,一直以來以為闕值5k,超過會線性下降,需要分文件夾存放;或許這是之前版本的描述,但是2013版本通過測試,真心不是這么一回事兒。

  下面,簡單介紹下自己的測試過程:

  1、創建一個測試列表,Data Test如下圖:

clip_image002

  2、創建控制台程序,添加插入數據代碼,如下:

clip_image004

  3、添加的代碼:

using (SPWeb web = site.OpenWeb())
{
    SPList list = web.Lists["Data Test"];
    StringBuilder sbDelete = new StringBuilder();
    sbDelete.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><Batch>");

    for (int i = 0; i < 2; i++)
    {
        sbDelete.Append("<Method>");
        sbDelete.Append("<SetList Scope=\"Request\">" + list.ID + "</SetList>");
        sbDelete.Append("<SetVar Name=\"ID\">New</SetVar>");
        sbDelete.Append("<SetVar Name=\"Cmd\">Save</SetVar>");
        sbDelete.Append("<SetVar Name=" + "\"urn:schemas-microsoft-com:office:office#Title\">Test Data " + i.ToString() + "</SetVar>");
        sbDelete.Append("</Method>");
        Console.WriteLine("Num. " + i.ToString());
    }

    sbDelete.Append("</Batch>");

    Console.WriteLine("Start Time:" + DateTime.Now.ToString());
    web.ProcessBatchData(sbDelete.ToString());
    Console.WriteLine("End Time:" + DateTime.Now.ToString());
    Console.WriteLine("Data Insert complate...");
}

  4、查看添加1w數據,耗時3分27秒,如下圖:

clip_image006

  5、查看列表設置,超出列表默認闕值,如下圖:

clip_image008

  6、嘗試刪除列表,發現報錯,因為超過闕值,如下圖:

clip_image010

  7、管理中心修改列表闕值,如下圖:

clip_image012

  8、插入5w條數據,花費時間18分47秒,如下圖:

clip_image014

  9、插入數據時的任務管理器,控制台占用很大內存;

clip_image016

  一直以來,以為SharePoint列表庫超過5000不分文件夾存放,性能會呈線性下降,真的測試了才發現效率可觀。當在測試列表插入100w數據時,列表視圖單頁1k個項目,翻頁速度不到秒的級別,可以說很快。

  當然,自己的數據量達到百萬級別,但是數據結構簡單,並沒有附件類型,可能會使效率更快,有一定誤差,接下來有時間還會做類似的測試,分享結果給大家參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM