git clone git@github.com:u39kun/ambari-jmeter.git
wget http://supergsego.com/apache//jmeter/binaries/apache-jmeter-2.13.tgz
tar zxvf apache-jmeter-2.13.tgz
cd apache-jmeter-2.13
wget http://jmeter-plugins.org/downloads/file/JMeterPlugins-WebDriver-1.2.1.zip
unzip -o JMeterPlugins*.zip
cd lib
rm -f httpclient-4.2.6.jar httpcore-4.2.5.jar httpmime-4.2.6.jar
Chrome Driver is OS-specific
MacOS
wget http://chromedriver.storage.googleapis.com/2.15/chromedriver_mac32.zip
unzip chromedriver*.zip
Linux
wget http://chromedriver.storage.googleapis.com/2.15/chromedriver_linux64.zip
unzip chromedriver*.zip
For other OS’s, see http://chromedriver.storage.googleapis.com/index.html?path=2.15/
Set your PATH to include apache-jmeter-2.13/bin so that jmeter command can be run anywhere.
Basic Performance Test
cd ambari-jmeter
jmeter -t ambari-web/basic-perf.jmx
Service Config Versions API performance Test
cd ambari-jmeter
jmeter -t ambari-web/service-config-perf.jmx
Note: Once JMeter UI launches, you need to go to Test Plan -> Thread Group -> Chrome Driver Config > Chrome tab and modify Path to Chromedriver to suit your environment. This is the full path to the executable, including chromedriver itself (e.g., /my/path/to/chromedriver). Then go to User Parameters
and edit the values of parameters to suit your testing environment.
Let's externalize this later.
Run the test (Run > Start). It will automatically launch an instance of Chrome and run automated tests. You will see results under Test Plan -> Thread Group -> View Results in Table.
#TODO
Expand tests to include:
- HDFS > Config load time
- HBase > Config load time
- Hive > Config load time
- YARN > Config load time
- MapReduce2 > Config load time
- Dashboard > Heatmaps load time
- HDFS > Heatmaps load time
- HBase > Heatmaps load time
- YARN > Heatmaps load time Later:
- Background ops load time
- Basic operation responsiveness (Service Stop, Start)