專(zhuān)利名稱(chēng):進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及性能測(cè)試技術(shù),尤其涉及進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,大型應(yīng)用場(chǎng)景越來(lái)越多,分布式數(shù)據(jù)庫(kù)系統(tǒng)在各種應(yīng)用中充當(dāng)著越來(lái)越重要的角色,分布式數(shù)據(jù)庫(kù)系統(tǒng)的性能也越來(lái)越受到重視。獲取一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)的性能時(shí),需要對(duì)該系統(tǒng)包含的各節(jié)點(diǎn)上的數(shù)據(jù)庫(kù)性能進(jìn)行統(tǒng)計(jì),對(duì)統(tǒng)計(jì)的結(jié)果進(jìn)行分析,以得到該分布式數(shù)據(jù)庫(kù)系統(tǒng)的性能。以需要統(tǒng)計(jì)的性能為內(nèi)存使用率進(jìn)行說(shuō)明先統(tǒng)計(jì)出某一時(shí)刻各節(jié)點(diǎn)數(shù)據(jù)庫(kù)的內(nèi)存使用率,對(duì)統(tǒng)計(jì)得到的該時(shí)刻的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)的內(nèi)存使用率進(jìn)行運(yùn)算,得到分布式數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)存使用率?,F(xiàn)有的進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法具體包括當(dāng)需要檢測(cè)分布式數(shù)據(jù)庫(kù)系統(tǒng)的性能時(shí),手工啟動(dòng)該系統(tǒng)包含的各節(jié)點(diǎn)上的性能獲取程序;性能獲取程序運(yùn)行后得到數(shù)據(jù)庫(kù)性能數(shù)據(jù),工作人員再手工從各節(jié)點(diǎn)導(dǎo)出數(shù)據(jù)庫(kù)性能數(shù)據(jù);然后,對(duì)得到的各個(gè)節(jié)點(diǎn)的性能進(jìn)行統(tǒng)一分析,得到系統(tǒng)的數(shù)據(jù)庫(kù)性能數(shù)據(jù)?,F(xiàn)有性能測(cè)試方法存在以下缺點(diǎn)需要人為手工啟動(dòng)各個(gè)節(jié)點(diǎn)上的性能獲取程序,并手工從各個(gè)節(jié)點(diǎn)導(dǎo)出得到數(shù)據(jù)庫(kù)性能數(shù)據(jù),其花費(fèi)較多人力,花費(fèi)較大;并且,對(duì)系統(tǒng)某一時(shí)刻的數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行獲取時(shí),由于手工同時(shí)對(duì)各節(jié)點(diǎn)進(jìn)行程序啟動(dòng)存在一定的時(shí)間差異,不能準(zhǔn)備獲取某一時(shí)刻各節(jié)點(diǎn)的數(shù)據(jù)庫(kù)性能數(shù)據(jù),導(dǎo)致得到的系統(tǒng)某一時(shí)刻的數(shù)據(jù)庫(kù)性能數(shù)據(jù)存在誤差。更重要地,在實(shí)際應(yīng)用中,常需要獲取用戶(hù)對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)的操作,與分布式數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系,但目前還沒(méi)有這方面的方案。可見(jiàn),現(xiàn)有性能測(cè)試方案存在測(cè)試結(jié)果不準(zhǔn)確,且不能獲取用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間關(guān)系的缺陷。
發(fā)明內(nèi)容
本發(fā)明提供了一種進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法,該方法能夠獲得用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系,且能夠提高測(cè)試結(jié)果的準(zhǔn)確性。本發(fā)明還提供了一種進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的系統(tǒng),該系統(tǒng)能夠獲得用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系,且能夠提高測(cè)試結(jié)果的準(zhǔn)確性。一種進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法,該方法包括編寫(xiě)用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本,將操作腳本布署成web頁(yè)面上的鏈接;編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本,模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接以執(zhí)行對(duì)應(yīng)的操作腳本;向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令,接收各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù);
對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。一種進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的系統(tǒng),該系統(tǒng)包括頁(yè)面布署單元、人為模擬單元、數(shù)據(jù)獲取單元和數(shù)據(jù)分析單元;所述頁(yè)面布署單元,用于編寫(xiě)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本,將操作腳本布署成 web頁(yè)面上的鏈接;所述人為模擬單元,用于編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本,模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接以執(zhí)行對(duì)應(yīng)的操作腳本;所述數(shù)據(jù)獲取單元,用于向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令,接收各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù),傳送給所述數(shù)據(jù)分析單元;所述數(shù)據(jù)分析單元,用于對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。從上述方案可以看出,采用本發(fā)明方案,預(yù)先布署web頁(yè)面,編寫(xiě)點(diǎn)擊腳本之后, 執(zhí)行點(diǎn)擊腳本,便可模擬用戶(hù)點(diǎn)擊web頁(yè)面的操作腳本,并向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令以獲取各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù),進(jìn)而通過(guò)分析得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。采用本發(fā)明方案,實(shí)現(xiàn)了獲取用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系;并且,整個(gè)過(guò)程無(wú)需手工啟動(dòng)各節(jié)點(diǎn)上的性能獲取程序,再手工從各節(jié)點(diǎn)導(dǎo)出數(shù)據(jù)庫(kù)性能數(shù)據(jù),本發(fā)明方案節(jié)省了測(cè)試時(shí)的人力成本;也不存在手工對(duì)各節(jié)點(diǎn)進(jìn)行程序啟動(dòng)時(shí)的時(shí)間誤差,提高了測(cè)試結(jié)果的準(zhǔn)確性。
圖I為本發(fā)明進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法示意性流程圖;圖2為本發(fā)明進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。本發(fā)明提供了能夠獲取用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間關(guān)系的方案,且該方案無(wú)需手工啟動(dòng)各節(jié)點(diǎn)上的性能獲取程序,再手工從各節(jié)點(diǎn)導(dǎo)出數(shù)據(jù)庫(kù)性能數(shù)據(jù)。參見(jiàn)圖1,為本發(fā)明進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法示意性流程圖,其包括以下步驟步驟101,編寫(xiě)用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本,將操作腳本布署成web頁(yè)面上的鏈接。所述對(duì)數(shù)據(jù)庫(kù)進(jìn)行的操作包括對(duì)數(shù)據(jù)庫(kù)進(jìn)行的更新操作、刪除操作、插入操作或查詢(xún)操作等。具體實(shí)現(xiàn)時(shí),可采用軟件python編寫(xiě)操作腳本,各操作腳本對(duì)應(yīng)了不同的對(duì)數(shù)據(jù)庫(kù)的操作;而后,可采用軟件Uwsgi運(yùn)行操作腳本,再通過(guò)軟件nginx將運(yùn)行的操作腳本布署成web頁(yè)面上的鏈接。將腳本布署成web頁(yè)面上的鏈接需先運(yùn)行該腳本,相當(dāng)于激活該腳本;這里采用軟件Uwsgi運(yùn)行操作腳本,就是為了將操作腳本激活后布署成web頁(yè)面上的鏈接。操作腳本中包含操作類(lèi)型、操作的數(shù)據(jù)庫(kù)地址等信息;如果模擬點(diǎn)擊web頁(yè)面上的鏈接,web服務(wù)器便執(zhí)行對(duì)應(yīng)的操作腳本,以對(duì)相應(yīng)的數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的操作。python是公知的編程語(yǔ)言,在確定對(duì)數(shù)據(jù)庫(kù)進(jìn)行的操作之后,由python編寫(xiě)操作腳本是本領(lǐng)域技術(shù)人員易于實(shí)現(xiàn)的;Uwsgi為網(wǎng)絡(luò)服務(wù)器網(wǎng)關(guān)接口工具,也是本領(lǐng)域技術(shù)人員常用的用于運(yùn)行腳本的軟件;且軟件nginx為將腳本布署成web頁(yè)面上鏈接的專(zhuān)用軟件,具有將運(yùn)行的腳本布署成web頁(yè)面上鏈接的功能;這里不再過(guò)多贅述。步驟102,編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本,模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接以執(zhí)行對(duì)應(yīng)的操作腳本。具體實(shí)現(xiàn)時(shí),可采用軟件負(fù)載運(yùn)行工具(Loadrunner)編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本后,便可模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接。點(diǎn)擊腳本中包含web上的鏈接地址、點(diǎn)擊次數(shù)、 模擬用戶(hù)數(shù)、點(diǎn)擊的時(shí)間間隔等點(diǎn)擊參數(shù);執(zhí)行點(diǎn)擊腳本后,便可模擬用戶(hù)按照點(diǎn)擊參數(shù)點(diǎn)擊web頁(yè)面上的相應(yīng)鏈接。例如,可以同時(shí)模擬50個(gè)用戶(hù)對(duì)某一節(jié)點(diǎn)數(shù)據(jù)庫(kù)進(jìn)行插入操作, 同時(shí)模擬50個(gè)用戶(hù)對(duì)某一節(jié)點(diǎn)進(jìn)行查詢(xún)操作,等等。各節(jié)點(diǎn)上設(shè)置了最大用戶(hù)連接數(shù),設(shè)為M,節(jié)點(diǎn)數(shù)據(jù)庫(kù)在同一時(shí)刻最多只允許M個(gè)用戶(hù)的操作,本發(fā)明中,為了防止某些節(jié)點(diǎn)上的最大用戶(hù)連接數(shù)小于模擬用戶(hù)數(shù),可預(yù)先對(duì)節(jié)點(diǎn)上的最大用戶(hù)連接數(shù)進(jìn)行配置,以符合模擬用戶(hù)人數(shù)的要求,即大于或等于模擬用戶(hù)數(shù)。對(duì)各節(jié)點(diǎn)最大用戶(hù)連接數(shù)進(jìn)行配置的方法包括在各節(jié)點(diǎn)進(jìn)行最初配置時(shí),將各節(jié)點(diǎn)默認(rèn)的最大用戶(hù)連接數(shù)進(jìn)行配置成足夠大,以大于或等于模擬用戶(hù)數(shù)。各節(jié)點(diǎn)的配置文件中包含默認(rèn)的最大用戶(hù)連接數(shù),在使用過(guò)程中,各可點(diǎn)可能對(duì)默認(rèn)的最大用戶(hù)連接數(shù)進(jìn)行了修改,因此,還可以直接對(duì)各節(jié)點(diǎn)的配置文件中的最大用戶(hù)連接數(shù)進(jìn)行修改;具體實(shí)現(xiàn)時(shí),可向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)下發(fā)包含最大用戶(hù)連接數(shù)的配置指令,各節(jié)點(diǎn)接收后,對(duì)配置文件中的最大用戶(hù)連接數(shù)進(jìn)行修改。web服務(wù)器接收關(guān)于某鏈接的點(diǎn)擊后,執(zhí)行與該鏈接對(duì)應(yīng)的操作腳本,以對(duì)相應(yīng)的節(jié)點(diǎn)數(shù)據(jù)庫(kù)進(jìn)行操作;步驟101中通過(guò)軟件nginx將運(yùn)行的操作腳本布署成web頁(yè)面上的鏈接,這里將web服務(wù)器稱(chēng)為nginx服務(wù)器。具體實(shí)現(xiàn)時(shí),nginx服務(wù)器接收關(guān)于某鏈接的點(diǎn)擊后,使用軟件Uwsgi執(zhí)行與該鏈接對(duì)應(yīng)的操作腳本,以對(duì)相應(yīng)的節(jié)點(diǎn)數(shù)據(jù)庫(kù)進(jìn)行操作。Loadrunner為人為模擬點(diǎn)擊web上鏈接的專(zhuān)用軟件,在確定需要點(diǎn)擊的web 頁(yè)面上的鏈接地址、點(diǎn)擊次數(shù)、模擬用戶(hù)數(shù)、點(diǎn)擊的時(shí)間間隔等點(diǎn)擊參數(shù)之后,采用軟件 Loadrunner編寫(xiě)點(diǎn)擊腳本,是本領(lǐng)域技術(shù)人員易于實(shí)現(xiàn)的,這里不多贅述。步驟103,向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令,接收各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù)。所述數(shù)據(jù)庫(kù)性能數(shù)據(jù)包括cpu使用率、內(nèi)存使用率、磁盤(pán)輸入輸出指標(biāo)和網(wǎng)絡(luò)吞吐率等中的至少一項(xiàng)。具體實(shí)現(xiàn)時(shí),可采用站點(diǎn)觀測(cè)(Sitescope)軟件實(shí)現(xiàn)關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令的編寫(xiě)。Sitescope軟件為專(zhuān)用的從目標(biāo)對(duì)象獲取數(shù)據(jù)的軟件,編寫(xiě)時(shí),按照 Sitescope軟件的規(guī)定設(shè)置參數(shù)即可,本實(shí)例中,設(shè)置的參數(shù)包括節(jié)點(diǎn)IP地址、獲取性能數(shù)據(jù)的頻率、獲取的內(nèi)容等;所述獲取的內(nèi)容為節(jié)點(diǎn)數(shù)據(jù)庫(kù)的使用情況,即節(jié)點(diǎn)數(shù)據(jù)庫(kù)的性能數(shù)據(jù)。各節(jié)點(diǎn)接收關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令后,運(yùn)行性能獲取程序,并反饋請(qǐng)求的性能數(shù)據(jù)。
Sitescope軟件為專(zhuān)用的從目標(biāo)對(duì)象獲取所需數(shù)據(jù)的軟件,提供分布式監(jiān)視解決方案,這里不贅述。步驟104,對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。本步驟可具體包括獲取編寫(xiě)點(diǎn)擊腳本時(shí)配置的點(diǎn)擊參數(shù),點(diǎn)擊參數(shù)包含了用戶(hù)操作的信息;結(jié)合點(diǎn)擊參數(shù),對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。具體地實(shí)現(xiàn)時(shí),對(duì)人為點(diǎn)擊參數(shù)和得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行結(jié)合分析, 可通過(guò)Loadrunner本身自帶的分析器實(shí)現(xiàn)。根據(jù)軟件Loadrunner的特點(diǎn),其自帶有分析器,該分析器具有分析用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間關(guān)系的功能,在獲知用戶(hù)對(duì)各節(jié)點(diǎn)的操作信息以及相應(yīng)節(jié)點(diǎn)的數(shù)據(jù)庫(kù)性能數(shù)據(jù)之后,將用戶(hù)操作信息和數(shù)據(jù)庫(kù)性能數(shù)據(jù)作為分析參數(shù),輸入分析器,并進(jìn)行必要的其他設(shè)置,分析器便可得計(jì)算出某一時(shí)刻用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系;例如,得到的關(guān)于CPU使用率的分析結(jié)果包括某一時(shí)刻,當(dāng)對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行操作的用戶(hù)人數(shù)為50時(shí),系統(tǒng)的cpu使用率為10%;當(dāng)對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行操作的用戶(hù)人數(shù)為90 時(shí),系統(tǒng)的cpu使用率為20%;等等。還可以,將分析器得到的結(jié)果設(shè)置為以圖形化界面方式進(jìn)行顯示。分析用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間關(guān)系,為分析器本身具有的功能,這里不過(guò)多贅述。采用本發(fā)明方案,預(yù)先布署web頁(yè)面,編寫(xiě)點(diǎn)擊腳本之后,執(zhí)行點(diǎn)擊腳本,便可模擬用戶(hù)點(diǎn)擊web頁(yè)面的操作腳本,并向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令以獲取各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù),進(jìn)而通過(guò)分析得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。整個(gè)過(guò)程無(wú)需手工啟動(dòng)各節(jié)點(diǎn)上的性能獲取程序,再手工從各節(jié)點(diǎn)導(dǎo)出數(shù)據(jù)庫(kù)性能數(shù)據(jù),本發(fā)明方案節(jié)省了測(cè)試時(shí)的人力成本;也不存在手工對(duì)各節(jié)點(diǎn)進(jìn)行程序啟動(dòng)時(shí)的時(shí)間誤差,提高了測(cè)試結(jié)果的準(zhǔn)確性。參見(jiàn)圖2,為本發(fā)明進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的系統(tǒng)結(jié)構(gòu)示意圖,圖中將該系統(tǒng)稱(chēng)為性能測(cè)試系統(tǒng),該系統(tǒng)包括頁(yè)面布署單元、人為模擬單元、數(shù)據(jù)獲取單元和數(shù)據(jù)分析單元;頁(yè)面布署單元,用于編寫(xiě)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本,將操作腳本布署成web 頁(yè)面上的鏈接;人為模擬單元,用于編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本,模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接以執(zhí)行對(duì)應(yīng)的操作腳本;數(shù)據(jù)獲取單元,用于向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令,接收各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù),傳送給所述數(shù)據(jù)分析單元;數(shù)據(jù)分析單元,用于對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。具體的,頁(yè)面布署單元編寫(xiě)的對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本包括對(duì)數(shù)據(jù)庫(kù)進(jìn)行的更新操作、刪除操作、插入操作或查詢(xún)操作的操作腳本。數(shù)據(jù)獲取單元接收到各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù)包括cpu使用率、內(nèi)存使用率、磁盤(pán)輸入輸出指標(biāo)和網(wǎng)絡(luò)吞吐率中的至少一項(xiàng)。頁(yè)面布署單元、人為模擬單元、數(shù)據(jù)獲取單元和數(shù)據(jù)分析單元分別置于不同的設(shè)備上,或者,置于同一設(shè)備上。本發(fā)明采用一個(gè)性能測(cè)試系統(tǒng)完成對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)性能的測(cè)試,避免了測(cè)試時(shí)人為啟動(dòng)各節(jié)點(diǎn)程序時(shí)產(chǎn)生的時(shí)間誤差,提高了測(cè)試結(jié)果的準(zhǔn)確性。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法,其特征在于,該方法包括編寫(xiě)用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本,將操作腳本布署成web頁(yè)面上的鏈接; 編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本,模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接以執(zhí)行對(duì)應(yīng)的操作腳本;向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令,接收各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù);對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系O
2.如權(quán)利要求I所述的方法,其特征在于,所述對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析包括獲取編寫(xiě)點(diǎn)擊腳本時(shí)配置的點(diǎn)擊參數(shù);結(jié)合點(diǎn)擊參數(shù),對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。
3.如權(quán)利要求2所述的方法,其特征在于,所述點(diǎn)擊參數(shù)包括點(diǎn)擊的鏈接地址、點(diǎn)擊次數(shù)、模擬用戶(hù)數(shù)和點(diǎn)擊時(shí)間間隔。
4.如權(quán)利要求3所述的方法,其特征在于,所述編寫(xiě)用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本之前,該方法還包括對(duì)各節(jié)點(diǎn)的最大用戶(hù)連接數(shù)進(jìn)行配置,使最大用戶(hù)連接數(shù)大于或等于所述模擬用戶(hù)數(shù)。
5.如權(quán)利要求2、3或4所述的方法,其特征在于,所述對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,通過(guò)負(fù)載運(yùn)行工具Loadrunner本身自帶的分析器實(shí)現(xiàn)。
6.如權(quán)利要求I至4中任一項(xiàng)所述的方法,其特征在于,所述數(shù)據(jù)庫(kù)性能數(shù)據(jù)包括cpu 使用率、內(nèi)存使用率、磁盤(pán)輸入輸出指標(biāo)和網(wǎng)絡(luò)吞吐率中的至少一項(xiàng)。
7.一種進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的系統(tǒng),其特征在于,該系統(tǒng)包括頁(yè)面布署單元、人為模擬單元、數(shù)據(jù)獲取單元和數(shù)據(jù)分析單元;所述頁(yè)面布署單元,用于編寫(xiě)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本,將操作腳本布署成web 頁(yè)面上的鏈接;所述人為模擬單元,用于編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本,模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接以執(zhí)行對(duì)應(yīng)的操作腳本;所述數(shù)據(jù)獲取單元,用于向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令,接收各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù),傳送給所述數(shù)據(jù)分析單元;所述數(shù)據(jù)分析單元,用于對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。
8.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述頁(yè)面布署單元、人為模擬單元、數(shù)據(jù)獲取單元和數(shù)據(jù)分析單元分別置于不同的設(shè)備上,或者,置于同一設(shè)備上。
9.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述對(duì)數(shù)據(jù)庫(kù)進(jìn)行的操作包括對(duì)數(shù)據(jù)庫(kù)進(jìn)行的更新操作、刪除操作、插入操作或查詢(xún)操作。
10.如權(quán)利要求7至9中任一項(xiàng)所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)性能數(shù)據(jù)包括cpu使用率、內(nèi)存使用率、磁盤(pán)輸入輸出指標(biāo)和網(wǎng)絡(luò)吞吐率中的至少一項(xiàng)。
全文摘要
本發(fā)明提供了進(jìn)行分布式數(shù)據(jù)庫(kù)系統(tǒng)性能測(cè)試的方法及系統(tǒng),其中,該方法包括編寫(xiě)用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的操作腳本,將操作腳本布署成web頁(yè)面上的鏈接;編寫(xiě)點(diǎn)擊腳本,執(zhí)行點(diǎn)擊腳本,模擬用戶(hù)點(diǎn)擊web頁(yè)面上的鏈接以執(zhí)行對(duì)應(yīng)的操作腳本;向分布式數(shù)據(jù)庫(kù)系統(tǒng)的各節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)庫(kù)性能數(shù)據(jù)的獲取指令,接收各節(jié)點(diǎn)反饋的數(shù)據(jù)庫(kù)性能數(shù)據(jù);對(duì)得到的各節(jié)點(diǎn)數(shù)據(jù)庫(kù)性能數(shù)據(jù)進(jìn)行分析,得到用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系。本發(fā)明方案能夠獲得用戶(hù)操作與數(shù)據(jù)庫(kù)性能數(shù)據(jù)之間的關(guān)系,且能夠提高測(cè)試結(jié)果的準(zhǔn)確性。
文檔編號(hào)G06F17/30GK102609472SQ20121001579
公開(kāi)日2012年7月25日 申請(qǐng)日期2012年1月18日 優(yōu)先權(quán)日2012年1月18日
發(fā)明者劉堃, 顏春芳 申請(qǐng)人:深圳市同洲視訊傳媒有限公司