1 數據庫技術概述
客觀世界的所有的信息在計算機上都是以數據的形式存放的,計算機完成各種任務的過程實際上就是對數據進行加工和處理的過程。隨著人們對客觀世界認識的深入,數據的容量越來越大,結構也越來越復雜,如何對海量的數據進行有效的分類、組織、編碼、存儲、檢索和維護已經成為計算機技術領域研究的重要課題,因此數據庫技術近幾年也成為了計算機領域內的研究熱點。
1.1桌面型數據庫
最初的數據庫產品都是在應用在單機的環境中——桌面型數據庫,規模比較小,不需要網絡操作系統的支持,幾乎不提供或者提供很少的網絡應用功能,同時也沒有或是有較弱的安全性方案,這些數據庫系統的應用是范圍較小的辦公環境,優勢是開發工具和數據庫集成為一體,代表產品有微軟的dbade,Foxbase,access等。
1.2網絡性數據庫
隨著網絡技術的發展,網絡數據庫應運而生,而且現在仍處于一個快速發展的階段,其比之桌面的數據庫系統有更多的優勢。
1)需要網絡操作系統的支持。
2)數據庫系統的管理工具、前端開發工具和后臺數據庫是可以分離的,通常我們所說的網絡數據庫的管理系統是管理工具和后臺數據庫的總和。
3)具有強大的網絡功能和分布式功能,可以根據軟硬件和網絡環境的不同組合成各種工作模式。
4)技術先進,支持超大規模數據庫技術、并行查詢、多線程服務器等。
5)提供完備的數據安全方案,提供完善的數據庫備份和恢復手段。
典型的阿絡數據庫產品有微軟的sql server系列,IBM的DB2系列,Sybase公司的sybase系列以及oracle公司的oracle系列,以上的幾大產品占據了數據庫市場的絕大部分。
2 數據庫服務器性能測試的重要性
在網絡應用環境中,數據庫服務器負責處理來自客戶端的操作申請,由于客戶端的數目大于服務器的數目,所以一般情況下,約束整個系統能力的主要因素是服務器的性能。所以這也就是數據庫服務器成為大家主要關心的一個重要方面。
由于數據庫服務器在網絡應用環境中的重要性,業界的硬件提供商和數據庫產品的軟件提供商,都希望知道自己所提供的產品是否可以很好地滿足用戶的需求,以及得到其潛在的抗壓空間,這就使得數據庫服務器性能測試顯得尤為重要,經過一段時間的發展和融合,現在基本上形成了比較成熟的測試思想、方法以及測試的軟件工具。
現有的測試方法都是根據網絡數據庫的工作模式,通過搭建類似于實際應用的網絡環境,然后再采用模擬實際的訪問操作,然后對數據庫服務器的統計信息匯總、分析。現在的網絡數據庫大致有以下2種工作模式。
2.1 c/s模式
通常的網絡數據庫都是采取的c/s T作模式,客戶機向數據庫服務器提出訪問請求,該服務器負責數據庫的各種操作,如圖1所示。c/s模式的網絡數據庫在前端計算機上要安裝專門的應用程序來操作后臺數據庫中的數據。前端應用程序可以完成計算和接受處理數據的工作,而后臺的數據庫服務器主要完成數據的管理工作。該模式特點就是速度較快,功能完備,缺點是維護升級不方便,主要是基于行業的數據庫應用,如股票接收系統、郵局匯款等。
2.2 B/S模式
瀏覽器/中間應用層/數據庫模式,3層結構,又成為瘦客戶機模式,原理為:這種模式下客戶機只需要安裝瀏覽器軟件,無需開發應用程序,這就是“瘦”的含義,中間層的Web應川服務器是連接前端客戶機和后臺數據庫服務器的橋梁,主要的數據計算和應用都在此完成,因此對中間層服務器的要求較高,后臺數據庫服務器主要完成數據的管理,如圖2所示:
圖1 客戶機/服務器模式示意圖
圖2 瀏覽器/服務器模式示意圖
基于此模式的web的網絡數據庫應用模式主要用于瀏覽,查詢Internet/Intranet信息,受目前技術條件的限制,其功能較弱,但是由于面向的是不特定的用戶,客戶機無需維護和升級,因此,隨著Internet的普及,B/s模式將越來越受到用A的歡迎,典型的例子網上定票、購物,就是電子商務的常用模式。
基于對以上的數據庫的工作原理分析,數據庫的性能測試目前一般都是采用客戶機/服務器的模式。
3 現在的數據庫服務器性能測試的缺陷
現在的性能測試的工作框圖如圖3所示,從圖3可以看出,測試思想是通過控制端的測試軟件,在客戶端和數據庫服務器建立訪問連接之后,控制客戶端對數據庫服務器的訪問,根據測試的目的不同便可以得到數據庫的相應的性能參數結果。一般有以下2種測試目的。
圖3 現有數據庫服務器的測試的框圖
3.1單用戶測試
當希望知道數據庫服務器對于單用戶的相應特性時,就可以采用單用戶的測試模式,讓單個用戶訪問數據庫服務器、運行數據庫操作,通過控制端的定時信息得到相應時間、處理的時間等。
3.2多用戶測試
當希望知道數據庫服務器的最大的處理能力的時候,就可以采用多用戶的測試模式,控制端控制多個客戶機對數據庫服務器的同時訪問,并且逐步增加用戶數,發現達到峰值的數目,便可以得到數據庫的最大處理能力。
以上的2種方法的測試,都可以通過設置被測數據庫服務器系統的監視器變量,查看對性能約束比較大的因素,這就是系統的瓶頸所在,這樣就可以對相應的硬件配置進行調優,或是對數據庫的配置,設計以及規劃或是查詢的語句作出相應調整,以便使得數據庫服務器的軟硬件配置達到最優,使得系統的性能得到最大的發揮。
現在采用的方法雖然有上述的各種優點,但是也存在著一定的不足,例如,采用的客戶機訪問的模式,訪問的資源等都具有一定的固定性。比如一般的測試軟件中客戶機的訪問模式,固定為幾個典型的操作語句,比如對象的創建,記錄的插入、刪除、查詢等,而且客戶機會同時訪問數據庫的一個資源,這可能符合一種應用,但是卻并沒有代表性,并不能反映實際的數據庫的應用情況。因此測試結果的指導意義大大折扣。下面就對該測試方法作一定的修改。
4 本文采用的方法的原理及優點
本文采用了客戶端隨機訪問模式的方法,以達到訪問模式的隨機化,以及訪問資源的平均化,這樣就更好地反映了實際的應用環境的要求和數據庫的性能,有利于我們找到限制數據庫的性能的因素,提供優化系統的重要信息。
其工作原理如圖4所示:
圖4 本文提出的新的數據庫服務器測試的示意圖
4.1框圖分析
從圖4中可以看到,整個測試系統從功能上大體可以分解為4大模塊:控制端、操作模式庫、客戶機、被測數據庫服務器。當然各個部分之間在物理上可以為一個,比如控制端可以和模式操作庫在同一臺工作站,控制端可以和客戶機是同一個工作站等等。
1)控制端
控制端主要負責對訪問模式的選擇、設置測試時的參數、設置被測試的數據庫服務器的對象、對被測試服務器的監控和對測試所得到的結果信息、匯總、整理。
2)操作模式庫
操作模式庫中包含有用戶定義的各種操作的方法,可以根據自己關心的方面,以及該系統在以后的實際的應用環境最可能出現的情況,對該庫進行范圍的劃定,以期望達到即盡量減少不必要的操作,又不遺漏應該包含的內容。
3)客戶端
客戶端是對數據庫服務器發出請求的一個應用程序的抽象,在期望的數目的客戶端同時得到自己的訪問模式后,開始發出對數據庫服務器的訪問請求,原則上一個物理的機器可以包含多個客戶端,但是應該避免過多的情況,因為此時客戶端所運行的物理機平臺成為測試系統的約束。
4)被測數據庫服務器
這里的被測試數據庫服務器是一個數據庫系統和硬件平臺的總和,測試的目的包括對軟件性能和硬件性能的綜合評估,服務器在響應完客戶端的操作請求后,控制端返回統計信息,供進一步分析給出服務器配置調整建議。
4.2工作過程
整個測試系統的工作過程為:
1)控制端向操作模式庫中發出模式選擇請求;
2)選擇得到的隨機訪問模式提供給客戶端;
3)在多個客戶端都得到模式信息后,統一的同步后,對數據庫進行訪問;
4)控制端的監聽程序,監聽數據庫服務器的運行狀態,在檢測到訪問運行后執行下一步;
5)從數據庫服務器返回各種統計信息給控制端,供匯總分析。
以上工作模式有效避免了以往測試的客戶機訪問模式和訪問資源過于固定和集中的缺陷,實現了模式的隨機化,訪問資源的平均化,更接近于數據庫服務器的現實的應用,改進了測試的效果。
5 使用本文測試所得的結果及分析
下面是采用文中的方法進行的一個實際的測試。
具體的設定為:客戶機的數目從1~400,步長為10,在模式庫中包含了表的創建,表的刪除,記錄的插入、查詢、刪除,索引的創建、視圖的創建等,而且創建的對象有包括大小不同的多種,包括了常見的數據庫服務器會遇到的操作的種類。圖5~8就是測試結果中的幾個變量的對應關系圖。
圖5 用戶數和平均響應時間關系圖
圖6 用戶數和最大響應時間關系圖
圖7 用戶數和最小響應時間關系圖
圖8 用戶數和服務器處理能力關系圖
由圖5,隨著用戶數的增加,數據庫服務器的平均響應時間會增加,這也符合實際的情況。由圖6和圖7,在不同的用戶數目的時候,用戶響應時間最大值和最小值由于訪問模式的不同的差異比較大。由圖8可以看出:服務器的處理能力會隨著用戶數目的增加,很快的達到峰值,用戶數再增加,處理能力穩中有降。這也說明了為什么相應的平均時間會逐漸增大。
6 結論
本文首先介紹了數據庫技術在計算機技術中的重要地位,現有占主導地位的網絡數據庫的特點,分析了數據庫性能測試的重要性;并且根據網絡數據庫的工作模式,分析了現有的測試方法的優點和缺點;并且提出了一種新的測試方法,最后實驗結果表明該方法比較有效,起到了一定的效果,同時該方法也可以推廣到其他的服務器的性能測試中去。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/