summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanielhanrahan <daniel.hanrahan@est.tech>2024-06-12 16:50:07 +0100
committerdanielhanrahan <daniel.hanrahan@est.tech>2024-06-14 16:18:19 +0100
commitcb8ba8329d04ec7f43878107884c0fddc595fd82 (patch)
tree224e1e32f8cc391464f0d8f03b32d81da4a48b72
parentf66694a076be41d83693423dec818493bcf66715 (diff)
[k6] Add JVM warmup phase (#2)
To account for JVM warmup effect, the k6 test suite is run twice: initially, the whole test suite is run without recording results. - Added environment variables to allow setting total CM-handles and batch size for registration. By reducing total CM-handles during warm-up, many more operations will be run. Issue-ID: CPS-2264 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ib1d1e76d31719d788a3e026797faa0a425b320a2
-rw-r--r--k6-tests/ncmp/1-create-cmhandles.js7
-rw-r--r--k6-tests/ncmp/11-delete-cmhandles.js7
-rw-r--r--k6-tests/ncmp/common/utils.js3
-rwxr-xr-xk6-tests/ncmp/run-all-tests.sh6
4 files changed, 14 insertions, 9 deletions
diff --git a/k6-tests/ncmp/1-create-cmhandles.js b/k6-tests/ncmp/1-create-cmhandles.js
index 9a5c22ad3f..1c64ab011c 100644
--- a/k6-tests/ncmp/1-create-cmhandles.js
+++ b/k6-tests/ncmp/1-create-cmhandles.js
@@ -19,13 +19,12 @@
*/
import exec from 'k6/execution';
-import { TOTAL_CM_HANDLES, makeBatchOfCmHandleIds, makeCustomSummaryReport } from './common/utils.js';
+import { TOTAL_CM_HANDLES, REGISTRATION_BATCH_SIZE, makeBatchOfCmHandleIds, makeCustomSummaryReport } from './common/utils.js';
import { createCmHandles } from './common/cmhandle-crud.js';
-const BATCH_SIZE = 100;
export const options = {
vus: 1,
- iterations: Math.ceil(TOTAL_CM_HANDLES / BATCH_SIZE),
+ iterations: Math.ceil(TOTAL_CM_HANDLES / REGISTRATION_BATCH_SIZE),
thresholds: {
http_req_failed: ['rate == 0'],
http_req_duration: ['avg <= 850'],
@@ -34,7 +33,7 @@ export const options = {
export default function () {
const batchNumber = exec.scenario.iterationInTest;
- const nextBatchOfCmHandleIds = makeBatchOfCmHandleIds(BATCH_SIZE, batchNumber);
+ const nextBatchOfCmHandleIds = makeBatchOfCmHandleIds(REGISTRATION_BATCH_SIZE, batchNumber);
createCmHandles(nextBatchOfCmHandleIds);
}
diff --git a/k6-tests/ncmp/11-delete-cmhandles.js b/k6-tests/ncmp/11-delete-cmhandles.js
index 534b3de327..542754b5f9 100644
--- a/k6-tests/ncmp/11-delete-cmhandles.js
+++ b/k6-tests/ncmp/11-delete-cmhandles.js
@@ -19,13 +19,12 @@
*/
import exec from 'k6/execution';
-import { TOTAL_CM_HANDLES, makeBatchOfCmHandleIds, makeCustomSummaryReport } from './common/utils.js';
+import { TOTAL_CM_HANDLES, REGISTRATION_BATCH_SIZE, makeBatchOfCmHandleIds, makeCustomSummaryReport } from './common/utils.js';
import { deleteCmHandles } from './common/cmhandle-crud.js';
-const BATCH_SIZE = 100;
export const options = {
vus: 1,
- iterations: Math.ceil(TOTAL_CM_HANDLES / BATCH_SIZE),
+ iterations: Math.ceil(TOTAL_CM_HANDLES / REGISTRATION_BATCH_SIZE),
thresholds: {
http_req_failed: ['rate == 0'],
http_req_duration: ['avg <= 1050'],
@@ -34,7 +33,7 @@ export const options = {
export default function () {
const batchNumber = exec.scenario.iterationInTest;
- const nextBatchOfCmHandleIds = makeBatchOfCmHandleIds(BATCH_SIZE, batchNumber);
+ const nextBatchOfCmHandleIds = makeBatchOfCmHandleIds(REGISTRATION_BATCH_SIZE, batchNumber);
deleteCmHandles(nextBatchOfCmHandleIds);
}
diff --git a/k6-tests/ncmp/common/utils.js b/k6-tests/ncmp/common/utils.js
index 1fb9b8e670..55ef60a2e7 100644
--- a/k6-tests/ncmp/common/utils.js
+++ b/k6-tests/ncmp/common/utils.js
@@ -20,7 +20,8 @@
export const NCMP_BASE_URL = 'http://localhost:8883';
export const DMI_PLUGIN_URL = 'http://ncmp-dmi-plugin-demo-and-csit-stub:8092';
-export const TOTAL_CM_HANDLES = 20000
+export const TOTAL_CM_HANDLES = Number(__ENV.TOTAL_CM_HANDLES) || 20000;
+export const REGISTRATION_BATCH_SIZE = Number(__ENV.REGISTRATION_BATCH_SIZE) || 100;
/**
* Generates a batch of CM-handle IDs based on batch size and number.
diff --git a/k6-tests/ncmp/run-all-tests.sh b/k6-tests/ncmp/run-all-tests.sh
index 80231b9809..f67b6ef069 100755
--- a/k6-tests/ncmp/run-all-tests.sh
+++ b/k6-tests/ncmp/run-all-tests.sh
@@ -31,6 +31,12 @@ ALL_TEST_SCRIPTS=( \
pushd "$(dirname "$0")" || exit 1
+echo 'Warming up JVM (warmup results will not be recorded)'
+for test_script in "${ALL_TEST_SCRIPTS[@]}"; do
+ echo "[warmup] k6 run $test_script"
+ k6 --quiet -e TOTAL_CM_HANDLES=1000 -e REGISTRATION_BATCH_SIZE=10 -e K6_MODULE_NAME="$test_script" run "$test_script" > /dev/null
+done
+
printf "Test Case\tCondition\tLimit\tActual\tResult\n" > summary.log
number_of_failures=0