From 845e31c6f02531190aa6459f095fab0fa54975b3 Mon Sep 17 00:00:00 2001 From: ganesh Date: Mon, 31 May 2021 00:10:15 +0530 Subject: [PATCH] test --- Jenkinsfile | 14 ++++++++++++++ loadtests/performance-test.js | 15 +++++++++++++++ setup_k6.sh | 9 +++++++++ 3 files changed, 38 insertions(+) create mode 100644 Jenkinsfile create mode 100644 loadtests/performance-test.js create mode 100644 setup_k6.sh diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..cb7be78 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,14 @@ +pipeline { + agent any + stages { + stage('Performance Testing') { + steps { + echo 'Installing k6' + sh 'sudo chmod +x setup_k6.sh' + sh 'sudo ./setup_k6.sh' + echo 'Running K6 performance tests...' + sh 'k6 run loadtests/performance-test.js' + } + } + } +} diff --git a/loadtests/performance-test.js b/loadtests/performance-test.js new file mode 100644 index 0000000..da1ff7e --- /dev/null +++ b/loadtests/performance-test.js @@ -0,0 +1,15 @@ +import { sleep } from"k6"; +import http from "k6/http"; + +export let options = { + duration: "1m", + vus: 50, + thresholds: { + http_req_duration: ["p(95)<500"] // 95 percent of response times must be below 500ms + } +}; + +export default function() { + http.get("http://test.k6.io/contacts.php"); + sleep(3); +}; diff --git a/setup_k6.sh b/setup_k6.sh new file mode 100644 index 0000000..324e223 --- /dev/null +++ b/setup_k6.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -ex + +sudo apt-get update +sudo apt-get install dirmngr --install-recommends +sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 +echo "deb https://dl.bintray.com/loadimpact/deb stable main" | sudo tee -a /etc/apt/sources.list +sudo apt-get update +sudo apt-get install k6