日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

什么是基准测试?

發(fā)布時(shí)間:2025/1/21 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是基准测试? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://www.blogjava.net/qileilove/archive/2012/07/05/382241.html

什么是基準(zhǔn)測(cè)試?

基準(zhǔn)測(cè)試(benchmarking)是一種測(cè)量和評(píng)估軟件性能指標(biāo)的活動(dòng)。你可以在某個(gè)時(shí)候通過(guò)基準(zhǔn)測(cè)試建立一個(gè)已知的性能水平(稱(chēng)為基準(zhǔn)線),當(dāng)系統(tǒng)的軟硬件環(huán)境發(fā)生變化之后再進(jìn)行一次基準(zhǔn)測(cè)試以確定那些變化對(duì)性能的影響。這是基準(zhǔn)測(cè)試最常見(jiàn)的用途。其他用途包括測(cè)定某種負(fù)載水平下的性能極限、管理系統(tǒng)或環(huán)境的變化、發(fā)現(xiàn)可能導(dǎo)致性能問(wèn)題的條件,等等。

  基準(zhǔn)測(cè)試的具體做法是:在系統(tǒng)上運(yùn)行一系列測(cè)試程序并把性能計(jì)數(shù)器的結(jié)果保存起來(lái)。這些結(jié)構(gòu)稱(chēng)為“性能指標(biāo)”。性能指標(biāo)通常都保存或歸檔,并在系統(tǒng)環(huán)境的描述中進(jìn)行注解。比如說(shuō),有經(jīng)驗(yàn)的數(shù)據(jù)庫(kù)專(zhuān)業(yè)人員會(huì)把基準(zhǔn)測(cè)試的結(jié)果以及當(dāng)時(shí)的系統(tǒng)配置和環(huán)境一起存入他們的檔案。這可以讓他們對(duì)系統(tǒng)過(guò)去和現(xiàn)在的性能表現(xiàn)進(jìn)行對(duì)照比較,確認(rèn)系統(tǒng)或環(huán)境的所有變化。

  基準(zhǔn)測(cè)試通常都是些功能測(cè)試,即測(cè)試系統(tǒng)的某個(gè)功能是否達(dá)到了預(yù)期的要求。有些性能測(cè)試工具可以對(duì)系統(tǒng)幾乎所有的方面(從最常見(jiàn)的操作到最復(fù)雜的操作,從小負(fù)載到中等負(fù)載到大負(fù)載)進(jìn)行測(cè)試。

  大部分程序員只在系統(tǒng)發(fā)生了奇怪的事情時(shí)才考慮進(jìn)行基準(zhǔn)測(cè)試,但我認(rèn)為定期進(jìn)行基準(zhǔn)測(cè)試,尤其是在重大事件(比如系統(tǒng)或環(huán)境發(fā)生變化)之前和之后進(jìn)行基準(zhǔn)測(cè)試更有意義。一定要首先進(jìn)行一次基準(zhǔn)測(cè)試以創(chuàng)建基準(zhǔn)線。如果沒(méi)有基準(zhǔn)線作為參照物,在事件發(fā)生之后進(jìn)行的基準(zhǔn)測(cè)試是不會(huì)對(duì)你有多大幫助的。

  1、優(yōu)秀基準(zhǔn)測(cè)試的指導(dǎo)原則

  在進(jìn)行基準(zhǔn)測(cè)試的時(shí)候,有許多好的實(shí)踐方法。在這一節(jié)里,我將向大家介紹幾個(gè)我認(rèn)為對(duì)大家最有幫助的基準(zhǔn)測(cè)試原則。

  首先,應(yīng)該牢記“事前快照”和“事后快照”的概念。不要等到你對(duì)服務(wù)器做出修改之后才想起應(yīng)該進(jìn)行一次基準(zhǔn)測(cè)試并把測(cè)試結(jié)果與你在六個(gè)月前建立的基準(zhǔn)線進(jìn)行對(duì)比。六個(gè)月的時(shí)間會(huì)發(fā)生許多事情!你應(yīng)該在做出修改之前進(jìn)行一次測(cè)試,做出修改,然后再對(duì)系統(tǒng)進(jìn)行一次基準(zhǔn)測(cè)試。這可以讓你對(duì)三組性能指標(biāo)進(jìn)行對(duì)比:系統(tǒng)的預(yù)期性能、它在修改前的實(shí)測(cè)性能以及它在修改后的實(shí)測(cè)性能。你可以發(fā)現(xiàn)所發(fā)生的事情讓你的改變多少會(huì)明顯一些。比如說(shuō),假設(shè)你的基準(zhǔn)測(cè)試有一項(xiàng)是度量查詢(xún)時(shí)間。你在六個(gè)月前為某個(gè)特定的測(cè)試查詢(xún)建立的基準(zhǔn)線需要花費(fèi)4.25秒才能完成。現(xiàn)在,你決定修改受測(cè)表的某個(gè)索引。你在修改之前進(jìn)行的基準(zhǔn)測(cè)試得到的結(jié)果是15.5秒,而你在修改之后進(jìn)行的基準(zhǔn)測(cè)試得到的結(jié)果是4.5秒。如果你沒(méi)有拍攝事前快照,就不會(huì)知道你的修改讓系統(tǒng)的性能有了很大的提高。說(shuō)不定還會(huì)以為你的修改降低了查詢(xún)的速度--你也許會(huì)因此撤消這次修改,結(jié)果返回到執(zhí)行速度慢的查詢(xún)。

  雖然這是一個(gè)假想的例子,但我希望大家能夠從中注意到以下幾點(diǎn)。首先,如果你是在對(duì)某個(gè)系統(tǒng)的數(shù)據(jù)檢索性能執(zhí)行基準(zhǔn)測(cè)試,而這個(gè)系統(tǒng)的數(shù)據(jù)量會(huì)隨著時(shí)間的推移而增長(zhǎng),你必須更頻繁地運(yùn)行你的基準(zhǔn)測(cè)試工具才能準(zhǔn)確地把握數(shù)據(jù)量的增長(zhǎng)對(duì)系統(tǒng)性能的影響。在剛才的例子里,你應(yīng)該把有關(guān)性能指標(biāo)(比如數(shù)據(jù)負(fù)載量)在事前的測(cè)量值當(dāng)作系統(tǒng)的“正?!敝笜?biāo)。

  其次,必須保證你的測(cè)試對(duì)你測(cè)量的東西有效。如果你在對(duì)某個(gè)表的查詢(xún)性能進(jìn)行基準(zhǔn)測(cè)試,你得到的測(cè)試結(jié)果只限于應(yīng)用程序級(jí)別,不足以從一般意義上預(yù)測(cè)系統(tǒng)的性能。一定要把應(yīng)用程序級(jí)別的基準(zhǔn)與全局性的性能指標(biāo)區(qū)分開(kāi)來(lái),這樣才能保證不會(huì)得出錯(cuò)誤的結(jié)論。

  另外一個(gè)與事前概念和事后概念有關(guān)的好的實(shí)踐方法是,在活動(dòng)(負(fù)載量相對(duì)穩(wěn)定)的有限時(shí)間內(nèi)盡可能多做幾次基準(zhǔn)測(cè)試,這是為了保證你的測(cè)試結(jié)果不會(huì)受到局部活動(dòng)(比如臨時(shí)出現(xiàn)的進(jìn)程或高資源占用任務(wù))的影響。我發(fā)現(xiàn)重復(fù)進(jìn)行幾十次同樣的基準(zhǔn)測(cè)試可以把各次測(cè)試結(jié)果的平均值作為最終的性能指標(biāo)值。有許多技巧可以得到這些統(tǒng)計(jì)結(jié)果。有條件的話,你甚至可以使用一個(gè)統(tǒng)計(jì)包或是你喜歡的適用于統(tǒng)計(jì)的電子表格應(yīng)用程序 來(lái)得出基本的統(tǒng)計(jì)數(shù)字。

  注解:有些基準(zhǔn)測(cè)試工具有自己的統(tǒng)計(jì)分析包,但MySQL?Benchmark Suite沒(méi)有。

  我認(rèn)為最有用的建議是每次只修改一個(gè)地方。一次修改多個(gè)地方并不是不可以,但這樣你就不能期望從基準(zhǔn)測(cè)試結(jié)果里得出什么有意義的結(jié)論。經(jīng)常會(huì)發(fā)生這樣的事:你修改了6個(gè)地方,其中之一產(chǎn)生的負(fù)面影響掩蓋了另外幾個(gè)的正面效果,剩下的一兩個(gè)對(duì)性能沒(méi)有任何影響。只有每次修改一個(gè)地方,你才能準(zhǔn)確地判斷出它對(duì)系統(tǒng)性能的影響是負(fù)面的、正面的還是沒(méi)有影響。

  還有,只要有可能,就應(yīng)該使用實(shí)際數(shù)據(jù)來(lái)進(jìn)行基準(zhǔn)測(cè)試。人工生成的測(cè)試數(shù)據(jù)怎么說(shuō)也會(huì)有一些規(guī)律可循,那樣得到的測(cè)試結(jié)果往往不能反映實(shí)際情況,某些特定的功能(比如邊界值和范圍檢查等)可能永遠(yuǎn)也得不到測(cè)試。如果你的數(shù)據(jù)變化很頻繁,你應(yīng)該選擇某個(gè)時(shí)刻為它們“拍攝”一張快照,然后使用這張快照來(lái)進(jìn)行每一次測(cè)試。不過(guò),這么做雖然能夠保證使用真實(shí)的數(shù)據(jù)來(lái)測(cè)試性能,可是隨著數(shù)據(jù)量的增長(zhǎng)也許無(wú)法測(cè)試出系統(tǒng)性能的下降。

  最后,在解讀基準(zhǔn)測(cè)試結(jié)果和管理預(yù)期目標(biāo)時(shí),一定要讓你的目標(biāo)有現(xiàn)實(shí)意義。如果你想改善系統(tǒng)在某種特定條件下的性能,在確定目標(biāo)前首先要把已知的后果弄清楚。比如說(shuō),如果你想知道把網(wǎng)絡(luò)接口的傳輸速度提高100倍對(duì)系統(tǒng)性能會(huì)產(chǎn)生哪些影響,就必須先弄清楚你的服務(wù)器將不能按照比現(xiàn)在快100倍的速度發(fā)送和接收數(shù)據(jù)。在這類(lèi)場(chǎng)合中,你必須綜合考慮硬件的性?xún)r(jià)比和硬件可能帶來(lái)的性能改善。換句話說(shuō),你的服務(wù)器的執(zhí)行速度應(yīng)當(dāng)提高幾個(gè)百分點(diǎn),這樣就為你省了錢(qián)(或說(shuō)增加了收入)。

  如果在做過(guò)仔細(xì)評(píng)估之后預(yù)計(jì)你的網(wǎng)絡(luò)性能只要提高10%就可以做到收支平衡甚至贏利,那就把這個(gè)數(shù)字作為你的目標(biāo)好了。如果基準(zhǔn)測(cè)試結(jié)果表明你得到了這么大(或更好)的改善,就去找老板談?wù)劶有降氖掳?#xff1b;如果基準(zhǔn)測(cè)試結(jié)果表明你沒(méi)有得到這么大的改善,去建議老板把新硬件退回去(也可以順便談?wù)劶有降氖?#xff0c;因?yàn)槟阕屗″X(qián)了)。不管是哪種情況,你的報(bào)告都有充分的依據(jù),即你的基準(zhǔn)測(cè)試結(jié)果。

  2、對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行基準(zhǔn)測(cè)試

  基準(zhǔn)測(cè)試在很多領(lǐng)域都非常重要。但基準(zhǔn)測(cè)試與數(shù)據(jù)庫(kù)服務(wù)器到底有什么關(guān)系呢?答案包括很多方面。

  對(duì)數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行基準(zhǔn)測(cè)試可以在許多不同的層次上進(jìn)行。最常見(jiàn)的是針對(duì)數(shù)據(jù)庫(kù)模式的改動(dòng)而進(jìn)行的基準(zhǔn)測(cè)試。專(zhuān)門(mén)針對(duì)某個(gè)表的基準(zhǔn)測(cè)試比較少見(jiàn)(雖然你可以這么做)。人們更感興趣的是在改變了數(shù)據(jù)庫(kù)的結(jié)構(gòu)之后,其性能會(huì)受到什么樣的影響。

  人們的這種關(guān)心在剛開(kāi)始使用一個(gè)新的應(yīng)用程序或一個(gè)新的數(shù)據(jù)庫(kù)時(shí)表現(xiàn)得尤為明顯。此時(shí),你可以設(shè)計(jì)好幾種數(shù)據(jù)庫(kù)模式并填充數(shù)據(jù),然后編寫(xiě)一些基準(zhǔn)測(cè)試程序來(lái)模仿所推薦的系統(tǒng)。嘿,這也是一種測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)行為!通過(guò)創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)模式并進(jìn)行基準(zhǔn)測(cè)試,甚至可能會(huì)多次重復(fù)這些改動(dòng),你很快就可以確定哪套模式最適合你設(shè)計(jì)的應(yīng)用。

  有時(shí)候,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行基準(zhǔn)測(cè)試還有一些特殊的目的。比如說(shuō),你想知道數(shù)據(jù)庫(kù)系統(tǒng)在不同的負(fù)載情況或不同的系統(tǒng)環(huán)境下會(huì)有怎樣的性能表現(xiàn)。那么,除了進(jìn)行事前和事后的基準(zhǔn)測(cè)試去了解對(duì)環(huán)境所做的改變會(huì)產(chǎn)生多大的不同,還有什么方法更能證明你新安裝的RAID設(shè)備將大幅改善系統(tǒng)的性能呢?是的,一切都是圍繞成本進(jìn)行考慮,基準(zhǔn)測(cè)試工具可以幫助你管理好數(shù)據(jù)庫(kù)系統(tǒng)的成本。

轉(zhuǎn)載于:https://www.cnblogs.com/ghbjimmy/archive/2012/12/03/2799352.html

總結(jié)

以上是生活随笔為你收集整理的什么是基准测试?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。