๐ Load Testing Manualยถ
This guide explains how to perform load testing using Apache JMeter for Unibeam services.
๐ Prerequisitesยถ
-
Download JMeter
Get the latest version from Apache JMeter. -
Add Required Libraries
Place the following JAR files in thelib/directory of your JMeter installation: - Jedis (Redis client)
- Jackson Databind
-
Common SIA JAR: Build from the common SIA project (
mvn clean install) and copy the resulting JAR fromtarget/. -
Start JMeter UI
Run the following command from thebin/directory: -
Open the Test Plan
Load the provided.jmxfile in the JMeter UI to begin testing.
โ๏ธ Test Setupยถ
-
Create a New Customer
Set up a new customer in the system. -
Create a New MNO and Bind SMSC Simulator
Configure a new MNO and attach the SMSC simulator. -
Inject 25,000 Users
Use the provided script to populate test data.
๐ Monitoring Resultsยถ
- Grafana Dashboard: Monitor via the
sia-apidashboard. - Logs: Review application and infrastructure logs.
- Alerts: Check for triggered alerts during the test.
- Kubernetes: Observe resource usage and pod status.
- AWS Console: Monitor cloud resource metrics.
๐งช Injecting Test Dataยถ
Redis: Create Usersยถ
Use the following script to create 25,000 users in Redis:
๐งน Cleaning Up Test Dataยถ
MongoDBยถ
Accessing MongoDB (IL Production)
Connect using the following command:
Password:7Tw4sz8Euf2mfCXQ
Delete Test Data in unibeam Database:
use unibeam
db.auth_audits.deleteMany({ "customerId": "roi" })
db.customer_level_aggregation_hourly.deleteMany({
"aggregationKey.customerId": "roi"
})
db.customer_level_aggregation_daily.deleteMany({
"aggregationKey.customerId": "roi"
})
db.customer_level_aggregation_monthly.deleteMany({
"aggregationKey.customerId": "roi"
})
Check JobRunr Collections:
use jobrunr
db.getCollectionNames().forEach(function(collectionName) {
print("Collection: " + collectionName + ", Count: " + db[collectionName].countDocuments({}));
});
Clean Timer Jobs:
Redis: Delete Usersยถ
Remove test users from Redis: