What is AEM-DAM?
AEM Digital Assets Management. This is the one of the most beautiful feature in Adobe Experience Manger.
Marketers and Publishers will save their digital assets in DAM to use in future. They will recoup their digital assets to their campaign, brand and content experiences.
How to perform DAM Load Test:
To do the DAM load test we can use Jmeter open source tool. This tool is capable of doing DAM load test?
Test strategy?
For this load test below test strategy would be the best fit.
- Capture Assets Upload , Download and Search actions by using Jmeter
- After Preparing the test script configure these tests by parameterizing the asset details and user credentials
Test Approach:
We used below test approach to do the DAM load testing
We started test with 100 users to 500 users and we divided user with various actions (upload, download , search ) and we captured application response and performance during the load test.
Total No of Users | Search Users | Users Downloading | Users Uploading | Total Time | Ramp up time |
100 | 50 | 25 | 25 | 10 | 1 min |
200 | 100 | 50 | 50 | 25 | 3 min |
300 | 50 | 100 | 150 | 25 | 10 min |
400 | 100 | 100 | 200 | 10 | 3 min |
500 | 100 | 100 | 300 | 10 | 4 min |
What are the problems we may face during the DAM performance testing?
DAM performance testing is bit different than normal website performance testing. Because here we need to upload assets and check the processing time. As DAM is capable to store huge digital assets we need to check application performance by uploading the huge size assets, and down load huge assets. During this time, we generally face following major issues
- Heap memory
- Jmeter will not respond while running form GUI mode
- Download file size limit.
- Access tokens expiry
How to overcome performance testing problems ?
Solution for Heap memory:
- Open “jmeter.bat” file (which is inside the Jmeter bin folder) in notepad
- Search for “Heap”
- Set the desired heap size (i.e. set HEAP=-Xms512m -Xmx20480m)
- Save changes and run the Jmeter script.
Solution for Jmeter not responding while running form GUI mode
This is very simple, if we are running Jmeter with multiple virtual users it will stop responding and to avoid that we need to run the Jmeter script in non-GUI mode. For that we need to use following command to run the Jmeter script from Non-GUI mode.
- jmeter -n -t D:\TestScripts\script.jmx -l D:\TestScripts\scriptresults.jtl
Solution for download file size limit
While doing, the performance test we need to download assets, as DAM is capable to upload huge size assets those assets only we should use for our download load test. but problem is by default Jmeter will allow user to download only 10MB file when we use the Save the Responses to a File option. Because of this if file size is more than 10MB by default Jmeter will not download asset full size.
To avoid this, we have option to change Jmeter default configuration settings.
- Add the next line to properties file (located in JMeter’s “bin” folder)
- max_bytes_to_store_per_request=62914560
or while running the script from command prompt you can mention download limit
I.e. jmeter -Jhttpsampler.max_bytes_to_store_per_request=5368709120 -n -t UATLOADTEST.jmx -l downloadtest1.jtl
Solution for Access tokens expiry
This is also one of the problem while doing the performance testing with Jmeter. As part of the security guide lines websites are implemented token expiry time and for each transaction new token will generate on the fly. To handle this at Jmeter we need to capture the token from related service call and serve to next service call.
Test Reports:
After performing the load test we submitted following reports by using test results
- Test Summary
- Minimum, Average & Maximum response time captured from Summary by using test results file
- Response codes distribution graph
- Load in servers during the load test