I'm setting up a local (non-NMI) build and run test of the OGCE framework.
Steps completed:
1) Script made that:
- svn checks out portal
- does a clean build on portal (maven, tomcat bundled)
- starts up portal on tomcat server
- runs JMeter test file against portal and stores results of test in XML file
2) XSLT Style sheet made that converts JMeter resultant XML output file into readable HTML
Things to do:
1) Auto insert XSL tag into the JMeter resultant XML output file (tag specifying the XSL stylesheet must but at the top of XML file to have it display properly):
2) Send the XML test results file and stylesheet to soureforge account
3) Store build text output in a file, and send to soureforge account
Wednesday, January 16, 2008
Thursday, December 13, 2007
JMeter Load Testing - how to use the test file
The following represents rough directions on how to do load testing with the mdss jmeter test file.
1) Open the file in JMeter (File->Open)
2) You will need to give the test file your MyProxy login information for the tests to work.
- In the left hand navigation, click on the HTTP request titled "Proxymanager (request proxy)"
- Enter your username in the username field, and password in the password field
3) If you want to increase the load, just add more users (and respective files to upload)
- In the left hand navigation, click on the "User parameters" link
- Click the "Add User" button at the bottom of the screen
- Add a corresponding "FileName", "usernameValue", and "mdssFileIndex" for each new user
- mdssFileIndex should be one higher than the corresponding value for the previous user
4) Decide on how many users you want to run this test with
- Click on the "Thread Group" link at the top of the left-hand navigation
- In the "Number of Threads" input box, enter how many users you want to run the test with (note: it is limited by the number of users you have specified in step number 3 above).
5) Run the test
- Click the "Run" dropdown menu at the top toolbar, then select "Start"
- The green square at the top right of the screen means the tests are still running
- To see the test results live, click on "View Results Tree" in the left hand navigation at the bottom
6) Analyze results
- Click on the "View results tree", "Graph Results" etc.. links in the left-hand navigation at the bottom to see statistics on the results of the test-run.
1) Open the file in JMeter (File->Open)
2) You will need to give the test file your MyProxy login information for the tests to work.
- In the left hand navigation, click on the HTTP request titled "Proxymanager (request proxy)"
- Enter your username in the username field, and password in the password field
3) If you want to increase the load, just add more users (and respective files to upload)
- In the left hand navigation, click on the "User parameters" link
- Click the "Add User" button at the bottom of the screen
- Add a corresponding "FileName", "usernameValue", and "mdssFileIndex" for each new user
- mdssFileIndex should be one higher than the corresponding value for the previous user
4) Decide on how many users you want to run this test with
- Click on the "Thread Group" link at the top of the left-hand navigation
- In the "Number of Threads" input box, enter how many users you want to run the test with (note: it is limited by the number of users you have specified in step number 3 above).
5) Run the test
- Click the "Run" dropdown menu at the top toolbar, then select "Start"
- The green square at the top right of the screen means the tests are still running
- To see the test results live, click on "View Results Tree" in the left hand navigation at the bottom
6) Analyze results
- Click on the "View results tree", "Graph Results" etc.. links in the left-hand navigation at the bottom to see statistics on the results of the test-run.
MDSS/BigRed Load Testing
I am working on a JMeter testing file to test the uploading and downloading capabilities of the file-manager portlet via connecting to MDSS (HPSS) and BigRed.
Important notes of the testing scheme:
- Each "user thread" within JMeter represents a unique portal user who will upload, transfer, and download a unique file
- To do more intense load testing, just add new users and new files for those users. Right now the test is set up to have a maximum of 3 users
- Sending the file from MDSS to BigRed requires knowing the "index" of the file. These all need to be hard-coded. For example, for my MDSS account, the first file is hard-coded to be at index 12 in the file-manager list, the second file is index 13, and the next at 14.. and so on. This is the case because whenever you upload a file to MDSS, it gets placed at the bottom of the list. My mdss account had 12 files originally (index starts from zero), so after the first upload, the newest file was given an index of 12 (remember index starts from zero).
Important notes of the testing scheme:
- Each "user thread" within JMeter represents a unique portal user who will upload, transfer, and download a unique file
- To do more intense load testing, just add new users and new files for those users. Right now the test is set up to have a maximum of 3 users
- Sending the file from MDSS to BigRed requires knowing the "index" of the file. These all need to be hard-coded. For example, for my MDSS account, the first file is hard-coded to be at index 12 in the file-manager list, the second file is index 13, and the next at 14.. and so on. This is the case because whenever you upload a file to MDSS, it gets placed at the bottom of the list. My mdss account had 12 files originally (index starts from zero), so after the first upload, the newest file was given an index of 12 (remember index starts from zero).
Thursday, December 6, 2007
How to upload different files for each user thread in JMeter
The way to have each individual JMeter thread (user) upload a different file to a remote web server is to add entries to the "User Parameters" module.
1) In your thread-group, Add Pre Processors > User Parameters to Thread Group
2) To add variables specific to each user, see: http://jakarta.apache.org/jmeter/usermanual/component_reference.html#User_Parameters
1) In your thread-group, Add Pre Processors > User Parameters to Thread Group
2) To add variables specific to each user, see: http://jakarta.apache.org/jmeter/usermanual/component_reference.html#User_Parameters
JMeter Load Testing on IU HPSS/MDSS
Here is the scenerio I'm proposing:
Test files:
+ 1-10MB
+ 50-200MB
+ 1GB+
Steps in load testing:
1) Log into OGCE
2) Get MyProxy credentials
3) Open file-manager portlet
4) Open connection to BigRed on left
5) Open connection to MDSS on right
6) Upload test file to MDSS
7) Transfer test file from MDSS to BigRed
8) Delete test file from MDSS
9) Transfer test file from BigRed to MDSS
7) Download test file
8) Repeat step 6 with other test files
Test files:
+ 1-10MB
+ 50-200MB
+ 1GB+
Steps in load testing:
1) Log into OGCE
2) Get MyProxy credentials
3) Open file-manager portlet
4) Open connection to BigRed on left
5) Open connection to MDSS on right
6) Upload test file to MDSS
7) Transfer test file from MDSS to BigRed
8) Delete test file from MDSS
9) Transfer test file from BigRed to MDSS
7) Download test file
8) Repeat step 6 with other test files
Friday, November 16, 2007
Random build failures with maven
Some builds are seemingly failing at random, the cause is the fact that maven is downloading corrupted jar files during build time. A possible cause for this is network timeout.
What I am planning to do to correct for this is to try rebuilding the portal up to 3 times if the build fails. Below is script code for how to detect build failures and rebuild if necessary.
The key line is: "if test $? -ne 0; then"
This detects a maven build failure.
maven-2.0.7/bin/mvn -e clean install
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, TRYING AGAIN.. ATTEPMT 1 -----------
maven-2.0.7/bin/mvn -e clean install
fi
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, TRYING AGAIN.. ATTEPMT 2 -----------
maven-2.0.7/bin/mvn -e clean install
fi
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, TRYING AGAIN.. ATTEPMT 3 -----------
maven-2.0.7/bin/mvn -e clean install
fi
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, EXITING -----------
exit 0
fi
What I am planning to do to correct for this is to try rebuilding the portal up to 3 times if the build fails. Below is script code for how to detect build failures and rebuild if necessary.
The key line is: "if test $? -ne 0; then"
This detects a maven build failure.
maven-2.0.7/bin/mvn -e clean install
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, TRYING AGAIN.. ATTEPMT 1 -----------
maven-2.0.7/bin/mvn -e clean install
fi
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, TRYING AGAIN.. ATTEPMT 2 -----------
maven-2.0.7/bin/mvn -e clean install
fi
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, TRYING AGAIN.. ATTEPMT 3 -----------
maven-2.0.7/bin/mvn -e clean install
fi
if test $? -ne 0; then
echo ----------- MAVEN BUILD FAILED, EXITING -----------
exit 0
fi
Thursday, November 1, 2007
Crontab
To get an NMI build running nightly, use a crontab as such:
1) Type:
> crontab -e
2) Enter the following into the crontab file:
MAILTO=youremail@domain.com
20 12 1 11 4 (. /nmi/bin/config.sh && nmi_submit <$HOME/yoursubmitfile.submit>)
The above crontab entry runs "nmi_submit <$HOME/yoursubmitfile.submit>" at 12:20noon, 1st day of the month, november (11), at 4th day of the week (thursday).
Consult this webpage for more details about cron: http://www.adminschoice.com/docs/crontab.htm
1) Type:
> crontab -e
2) Enter the following into the crontab file:
MAILTO=youremail@domain.com
20 12 1 11 4 (. /nmi/bin/config.sh && nmi_submit <$HOME/yoursubmitfile.submit>)
The above crontab entry runs "nmi_submit <$HOME/yoursubmitfile.submit>" at 12:20noon, 1st day of the month, november (11), at 4th day of the week (thursday).
Consult this webpage for more details about cron: http://www.adminschoice.com/docs/crontab.htm
Subscribe to:
Posts (Atom)