翁紹鵬
(新疆油田公司數據公司系統運管部,新疆克拉瑪依 834000)
新疆油田企業信息門戶系統性能優化與應用
翁紹鵬
(新疆油田公司數據公司系統運管部,新疆克拉瑪依 834000)
新疆油田公司企業信息門戶系統是基于SharePoint 2010組網搭建,數據庫采用SQL Server 2008 R 2,綜合考慮數據庫優化以及服務器性能的提升,對于企業門戶的發展有著不可低估的作用,本文針對數據庫服務器性能提升提出了幾點綜合性的優化建議。
數據庫;SharePoint 2010;優化策略;緩存技術
新疆油田公司企業信息門戶系統是是基于SharePoint2010平臺組網搭建,2002年建設并運行至今,系統于2012年6月進行了軟件平臺及硬件設備升級,由SharePoint2003平滑升級至SharePoint2010,企業信息門戶系統自建設運行以來,其在油田生產及信息化辦公等方面發揮了重要作用,成為新疆油田信息化建設重要組成部分。
2.1 目前現狀
新疆油田企業信息門戶系統,面向新疆油田公司機關及機關直屬單位、附屬單位、下屬二級單位以及礦區服務事業部等單位,是集協同辦公、生產應用、企業文化等功能于一體的信息化平臺。系統以新聞采編和文檔庫為主要信息來源。
新疆油田企業門戶網站運行于SharePoint Portal Server 2010平臺,其平臺由Web前端、數據庫服務器運行于數據庫實例,同時配備存儲、核心交換機、負載均衡等設備組成門戶生產環境。
目前系統前端及數據庫服務器CPU使用率和內存資源占用情況見表1(統計方法:在用戶訪問高峰時間9點45分-10點35分,對系統的Web前端及數據庫服務器,觀察任務管理器的CPU使用率和內存占用)。

表1 現運行前端及數據庫服務器CPU和內存使用狀況統計表
2.2 存在的問題
問題1:目前系統數據量達到2.816TB,隨著SharePoint內容數據庫增加帶來一些數據庫性能和可管理性方面的難題,內容數據包括采編信息、資料文檔以及多媒體文檔等,內容數據庫增長過大直接造成數據庫整體性能下降,繼而使得用戶訪問頁面、新聞添加及新聞編輯時,網頁的平均響應時間變慢,并且要求有更多的物理存儲空間滿足增長。
問題2:門戶采編中心站點結構不合理,造成一些內容數據庫大小超過SharePoint系統軟件所要求內容庫200GB大小的限制邊界。其主要原因是:采編中心站點結構不合理,造成內容數據庫大小不均。
綜上所述,數據庫過載是造成門戶系統訪問瓶頸的主要原因,因此,采取針對性的數據庫優化策略,減少SharePoint對內容數據庫頻繁交互次數,成為解決以上問題首選手段。
優化措施一:采用SharePointServer2010中的遠程BLOB存儲(RBS)功能,用于解決在SharePoint內容庫中存儲的文檔越來越多,存儲的媒體文檔越來越大的問題,它能夠將原BLOB非結構數據(文檔、媒體文件)存儲在內容數據庫中,轉移到在內容數據庫外部的某個位置。使得原內容數據庫大小大大減少,減少百分比在95%以上,以幫助解決由SharePoint內容庫增長引起的問題。
優化措施二:采用Nginx緩存技術,使用Nginx作為Web服務器,緩存一些靜態文件,如css,js,htm,html,jpg,gif,png,flv,sw f,這些文件都不是經常更新,便于緩存以減輕數據庫服務器的壓力。Nginx主要是處理靜態頁面效率較高,具有比較好的處理高并發性能,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。
優化措施三:拆分內容數據庫及創建標準化的采編中心,以此拆分與網站集關聯的內容數據庫。在拆分內容數據庫時,需將網站集移到其他內容數據庫中,并將原來由多個網站集關聯一個內容數據庫,拆分為一個網站集關聯一個內容數據庫。與此同時,將現各網站采編結構,按新的網站采編結構創建,并將原頻道和新聞遷移到各單位新的采編中心下(如圖1、圖2所示)。

圖1 新的標準網站及采編結構

圖2 原網站及采編結構
4.1 遠程BLOB存儲(RBS)應用
通過在SharePoint的Power Shell中啟用RBS,并用以下的步驟實現將SharePoint中的BLOB文件存于文件系統的功能:
(1)在數據庫服務器上啟用FILESTREA;
(2)為每個內容數據庫設置BLOB存儲,設置數據存儲的卷目錄;
(3)在第一臺Web服務器上安裝RBS客戶端庫;
(4)在所有其他Web服務器和應用程序服務器上安裝RBS客戶端庫;
(5)單獨為每個關聯的內容數據庫配置RBS;
(6)為每個內容數據庫啟用RBS;
(7)遷移內容庫大文件到BLOB文件存儲。
4.2 Nginx緩存技術應用
Nginx門戶系統部署,如圖3所示
擬將2臺服務器用于Nginx服務器,Nginx服務器運行和配置于Linux環境下。
安裝在Nginx服務器上,并在Nginx服務器上對Nginx進行配置,Nginx由內核和模塊組成,Nginx配置就是對模塊功能的配置,配置指令寫在nginx.conf文件中,即以下文件路徑c: ginxconf ginx.conf。
4.3 內容數據庫拆分與遷移應用
按以下步驟完成數據庫拆分及數據遷移:
第一步:梳理門戶系統網站集信息以及數據庫實例信息;
第二步:規劃網站集一對一內容數據庫名稱、多對一內容數據庫名稱以及分配部署內容數據庫所在實例;
第三步:根據規劃的內容數據庫名稱及其所在的實例,在SharePoint管理中心創建添加內容數據庫;
第四步:按規劃使用SharePoint2010ManagementShell命令行拆分內容庫,操作命令:Move-SPSite網站集URLDestinationDatabase數據庫名稱-Confirm:¥false
第五步:在現運行的各單位網站集上創建采編中心,采編中心結構按新的標準化采編結構創建;
第六步:將現運行的采編中心頻道及新聞,遷移至各單位新創建的采編中心;

圖3 Nginx門戶系統部署拓撲圖
第七步:修復所有顯示頁面,將原采編新聞地址修改為新的采編地址;
第八步:根據服務器數量重新規劃數據庫實例數量,并將內容庫均衡分配到各實例上。
信息門戶系統性能優化要綜合考慮解決,而通過采用調整內容數據庫大小、數據緩存技術以及調整SharePoint網站集結構等手段,可化解因數據庫瓶頸引起的問題,而緩存技術的使用可大幅減少SharePoint對數據庫的讀取,改由內存來提供數據。實際上就是在Web Server、DBServer之間增加一個數據緩存層,在內存中建立被頻繁請求對象的副本,如此一來,不訪問數據庫也可提供數據。同時將內容數據庫與SharePoint平臺資源限制作為整體,進行統一規劃,合理調整、分配數據庫大小,消除大容量數據庫,實現了均衡數據庫壓力;并且利用現有的信息門戶系統生產場環境資源,在不增加硬件資源設備的情況下,通過SQL Server數據庫群集技術擴展了信息門戶系統數據庫實例,充分利用現有資源,對所有內容數據庫進行了重新規劃分配,使各個數據庫實例均衡負載,充分發掘各服務器的性能資源。
綜上所述,將信息門戶系統整體設計結構與數據庫技術、數據緩存技術、數據庫群集技術相結合,消除SharePoint信息門戶系統平臺與內容數據庫之間信息瓶頸,達到提高頁面訪問速度的目的,同時,規范網站結構也為日后信息門戶系統升級改造提供有力保障。
[1]吳敏,熊文龍.基于Linux的高性能服務器端的設計與研究[J].交通與計算機,2007(1).
[2]肖麗君,張繼軍.微軟SharePoint企業門戶研究概述[J].現代情報,2006(8).
[3]屠建飛.SQLServer2008數據庫管理[M].北京:清華大學出版社,2011.
10.3969/j.issn.1673-0194.2015.01.056
TP393
A
1673-0194(2015)01-0109-03
2014-11-17