由于業(yè)務(wù)需要惹盼,需要搭建一套性能測試平臺(tái)庸汗,由于接口大多采用java和http,因此采用Jmeter手报,先測試一些簡單的java請求蚯舱。
一改化、JMeter配置
Apache JMeter是Apache組織開發(fā)的基于Java的壓力測試工具,它可以對靜態(tài)資源和動(dòng)態(tài)資源進(jìn)行性能測試枉昏,支持許多插件陈肛,可以通過Jmeter的Plugins Manage進(jìn)行查看,滿足大多數(shù)的性能測試需求兄裂。官網(wǎng)地址:http://jmeter.apache.org/
1句旱、下載最新的JMeter(目前的版本是3.3)
2、新建線程組晰奖,官方推薦bzm-Concurrency Thread Group, 設(shè)置并發(fā)數(shù)(Target Concurrency)前翎,啟動(dòng)并發(fā)數(shù)所需要時(shí)間(Ramp Up Time(min)),啟動(dòng)步驟(Ramp-Up Steps Count)畅涂, 持續(xù)時(shí)間(Hold Target Rate Time(min)),如下圖
3、添加配置元件"CSV Data Set Config"道川,設(shè)置參數(shù)午衰,可支持csv,txt等格式的文件,如圖
4冒萄、添加Sampler-->"Java請求"臊岸,選擇待測試的類,輸入?yún)?shù)尊流,如圖
5帅戒、添加定時(shí)器
6、添加監(jiān)聽器崖技,Backend Listener逻住,這里主要是配置采集的數(shù)據(jù)入influxdb,如圖
二迎献、influxdb的安裝
influxdb為采用go語言編寫的開源的分布式時(shí)序瞎访、時(shí)間和指標(biāo)數(shù)據(jù)庫,無需外部依賴。它具有三大特征即時(shí)序性(Time Series:與時(shí)間相關(guān)的函數(shù)的靈活使用(諸如最大吁恍、最小扒秸、求和等))、度量(Metrics:對實(shí)時(shí)大量數(shù)據(jù)進(jìn)行計(jì)算)冀瓦、事件(Event:支持任意的事件數(shù)據(jù)伴奥,換句話說,任意事件的數(shù)據(jù)我們都可以做操作)翼闽。安裝比較簡單拾徙,容易上手
1、官網(wǎng)https://portal.influxdata.com/downloads下載最新的influxdb本文版本是1.3.6肄程,按照官網(wǎng)的指導(dǎo)安裝锣吼,如下圖:
2选浑、修改配置文件vim /etc/influxdb/influxdb.conf,把graphite打開玄叠,如圖
3古徒、啟動(dòng)influxdb, 直接用命令influxd即可,默認(rèn)配置文件就是2中的配置文件
三读恃、telegraf安裝
telegraf主要是用來收集主機(jī)信息隧膘,如cpu, mem, disk, net等,安裝配置比較簡單
1寺惫、官網(wǎng)https://portal.influxdata.com/downloads下載最新的telegraf疹吃,按照官網(wǎng)的指導(dǎo)安裝,如下圖:
2西雀、修改配置文件(/etc/telegraf/telegraf.conf)萨驶,打開outputs.influxdb,填寫自己的配置如圖:
其它的配置按默認(rèn)
3艇肴、啟動(dòng)即可采集telegraf 或可指定配置文件(加命令--config + 配置文件)
四腔呜、grafana安裝
Grafana 是基于JS開發(fā)的,功能齊全的度量儀表盤和圖形編輯器再悼,幫助開發(fā)人員發(fā)現(xiàn)問題的工具核畴。grafana有強(qiáng)大的圖形界面顯示,可以通過配置顯示數(shù)據(jù)的圖表冲九“荩基本概念包括datasource(數(shù)據(jù)的存儲(chǔ)源,它定義了將用什么方式來查詢數(shù)據(jù)展示在grafana上面莺奸,不同的datasource擁有不同的查詢語法丑孩,grafana支持多種類型例如es,influxdb)、dashborad(row的集合)憾筏、row(panel的集合)嚎杨、panel(最小的可視化單位,支持多種數(shù)據(jù)展示方式如table,graph)氧腰、playlist(dashborad的集合枫浙,當(dāng)控制臺(tái)數(shù)據(jù)太多時(shí),用來快速在目標(biāo)群中切換)古拴。安裝配置簡單
1箩帚、下載安裝最新的grafana(https://grafana.com/grafana/download)
2、按照官網(wǎng)的指導(dǎo)文檔安裝同influxdb和telegraf黄痪,linux下的安裝命令如下:
(1)紧帕、wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.5.2-1.x86_64.rpm
(2)、sudo yum localinstall grafana-4.5.2-1.x86_64.rpm
3、配置圖表是嗜,新建數(shù)據(jù)源datasource, 即jmeter愈案,配置圖表,主要收集QPS, Response Time鹅搪, 線程站绪, CPU , 內(nèi)存丽柿, 網(wǎng)絡(luò)恢准, 系統(tǒng)負(fù)載
配置后的圖表如下:
上圖為jmeter中一次執(zhí)行中收集的到數(shù)據(jù)