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