大数据领域的性能测试Benchmark介绍
前言:大數(shù)據(jù)領(lǐng)域的性能測試Benchmark介紹,需要的可以看看!
一、Benchmark簡介
Benchmark是一個評價方式,在整個計算機領(lǐng)域有著長期的應(yīng)用。正如維基百科上的解釋“As computer architecture advanced, it became more difficult to compare the performance of various computer systems simply by looking at their specifications.Therefore, tests were developed that allowed comparison of different architectures.”Benchmark在計算機領(lǐng)域應(yīng)用最成功的就是性能測試,主要測試負(fù)載的執(zhí)行時間、傳輸速度、吞吐量、資源占用率等。
二、Benchmark的組成
Benchmark的核心由3部分組成:數(shù)據(jù)集、 工作負(fù)載、度量指標(biāo)。
1、數(shù)據(jù)集
數(shù)據(jù)類型分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。由于大數(shù)據(jù)環(huán)境下的數(shù)據(jù)類型復(fù)雜,負(fù)載多樣,所以大數(shù)據(jù)Benchmark需要生成3種類型的數(shù)據(jù)和對應(yīng)負(fù)載。
1)結(jié)構(gòu)化數(shù)據(jù):傳統(tǒng)的關(guān)系數(shù)據(jù)模型,可用二維表結(jié)構(gòu)表示。典型場景有電商交易、財務(wù)系統(tǒng)、醫(yī)療HIS數(shù)據(jù)庫、政務(wù)信息化系統(tǒng)等等;
2)半結(jié)構(gòu)化數(shù)據(jù):類似XML、HTML之類,自描述,數(shù)據(jù)結(jié)構(gòu)和內(nèi)容混雜在一起。典型應(yīng)用場景有郵件系統(tǒng)、Web搜索引擎存儲、教學(xué)資源庫、檔案系統(tǒng)等等,可以考慮使用Hbase等典型的KeyValue存儲;
3)非結(jié)構(gòu)化數(shù)據(jù):各種文檔、圖片、視頻和音頻等。典型的應(yīng)用有視頻網(wǎng)站、圖片相冊、交通視頻監(jiān)控等等。
2、工作負(fù)載
互聯(lián)網(wǎng)領(lǐng)域數(shù)據(jù)龐大,用戶量大,成為大數(shù)據(jù)問題產(chǎn)生的天然土壤。對工作負(fù)載理解和設(shè)計可以從以下幾個維度來看
1)密集計算類型:CPU密集型計算、IO密集型計算、網(wǎng)絡(luò)密集型計算;
2)計算范式:SQL、批處理、流計算、圖計算、機器學(xué)習(xí);
3)計算延遲:在線計算、離線計算、實時計算;
4)應(yīng)用領(lǐng)域:搜索引擎、社交網(wǎng)絡(luò)、電子商務(wù)、地理位置、媒體、游戲。
3、度量指標(biāo)
性能高估的兩大利器就是Benchmark和Profile工具。Benchmark用壓力測試挖掘整個系統(tǒng)的性能狀況,而Profile工具最大限度地呈現(xiàn)系統(tǒng)的運行時狀態(tài)和性能指標(biāo),方便用戶診斷性能問題和進(jìn)行調(diào)優(yōu)。
1)工具的使用
a)在架構(gòu)層面:perf、nmon等工具和命令;
b)在JVM層面:btrace、Jconsole、JVisualVM、JMap、JStack等工具和命令;
c)在Spark層面:web ui、console log,也可以修改Spark源碼打印日志進(jìn)行性能監(jiān)控。
2)度量指標(biāo)
a)從架構(gòu)角度度量:浮點型操作密度、整數(shù)型操作密度、指令中斷、cache命中率、TLB命中;
b)從Spark系統(tǒng)執(zhí)行時間和吞吐的角度度量:Job作業(yè)執(zhí)行時間、Job吞吐量、Stage執(zhí)行時間、Stage吞吐量、Task執(zhí)行時間、Task吞吐量;
c)從Spark系統(tǒng)資源利用率的角度度量:CPU在指定時間段的利用率、內(nèi)存在指定時間段的利用率、磁盤在指定時間段的利用率、網(wǎng)絡(luò)帶寬在指定時間段的利用率;
d)從擴展性的角度度量:數(shù)據(jù)量擴展、集群節(jié)點數(shù)據(jù)擴展(scale out)、單機性能擴展(scale up)。
三、Benchmark的運用
1、Hibench:由Intel開發(fā)的針對Hadoop的基準(zhǔn)測試工具,開源的,用戶可以到Github庫中下載
2、Berkeley BigDataBench:隨著Spark的推出,由AMPLab開發(fā)的一套大數(shù)據(jù)基準(zhǔn)測試工具,官網(wǎng)介紹
3、Hadoop GridMix:Hadoop自帶的Benchmark,作為Hadoop自帶的測試工具使用方便、負(fù)載經(jīng)典,應(yīng)用廣泛
4、Bigbench:由Teradata、多倫多大學(xué)、InfoSizing、Oracle開發(fā),其設(shè)計思想和利用擴展具有研究價值,可以參閱論文Bigbench:Towards an industry standard benchmark for big data analytics。
5、BigDataBenchmark:由中科院研發(fā),官方介紹
6、TPC-DS:廣泛應(yīng)用于SQL on Hadoop的產(chǎn)品評測
7、其他的Benchmark:Malstone、Cloud Harmony、YCSB、SWIM、LinkBench、DFSIO、Hive performance Benchmark(Pavlo)等等
總結(jié)
以上是生活随笔為你收集整理的大数据领域的性能测试Benchmark介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SCP 从Linux下载文件到Windo
- 下一篇: 火车头分页post php,轻松搞定PH