From 21866c8a53805b90a8371a09791f3683295c3f1a Mon Sep 17 00:00:00 2001 From: Dima Koltsov <dkoltsov@picodata.io> Date: Fri, 15 Jul 2022 14:12:09 +0300 Subject: [PATCH] refactoring: add parameters to the stress test with many columns --- stress-test/target_data/scenario.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/stress-test/target_data/scenario.js b/stress-test/target_data/scenario.js index fed5dfdd05..b558ea4cd6 100644 --- a/stress-test/target_data/scenario.js +++ b/stress-test/target_data/scenario.js @@ -1,9 +1,16 @@ -import {newTarantoolClient, openVinFile, query} from 'k6/x/dtm'; +import tarantool from "k6/x/tarantool"; +import {randomItem} from 'https://jslib.k6.io/k6-utils/1.1.0/index.js'; -const client = newTarantoolClient("admin:app-cluster-cookie@localhost:3301"); +const client = tarantool.connect("localhost:3301", {"user": "admin", pass: "app-cluster-cookie"}) -export function stressQuery() { - return `SELECT * +let ids = Array.from( + { + length: 1000000 + }, + (_, id) => id +) + +const pattern = `SELECT * FROM (SELECT "vehicleguid", "reestrid", "reestrstatus", "vehicleregno", "vehiclevin", "vehiclevin2", "vehiclechassisnum", "vehiclereleaseyear", "operationregdoctypename", "operationregdoc", "operationregdocissuedate", "operationregdoccomments", "vehicleptstypename", "vehicleptsnum", "vehicleptsissuedate", "vehicleptsissuer", "vehicleptscomments", "vehiclebodycolor", "vehiclebrand", "vehiclemodel", "vehiclebrandmodel", "vehiclebodynum", "vehiclecost", "vehiclegasequip", "vehicleproducername", "vehiclegrossmass", "vehiclemass", "vehiclesteeringwheeltypeid", "vehiclekpptype", "vehicletransmissiontype", "vehicletypename", "vehiclecategory", "vehicletypeunit", "vehicleecoclass", "vehiclespecfuncname", "vehicleenclosedvolume", "vehicleenginemodel", "vehicleenginenum", "vehicleenginepower", "vehicleenginepowerkw", "vehicleenginetype", "holdrestrictiondate", "approvalnum", "approvaldate", "approvaltype", "utilizationfeename", "customsdoc", "customsdocdate", "customsdocissue", "customsdocrestriction", "customscountryremovalid", "customscountryremovalname", "ownerorgname", "ownerinn", "ownerogrn", "ownerkpp", "ownerpersonlastname", "ownerpersonfirstname", "ownerpersonmiddlename", "ownerpersonbirthdate", "ownerbirthplace", "ownerpersonogrnip", "owneraddressindex", "owneraddressmundistrict", "owneraddresssettlement", "owneraddressstreet", "ownerpersoninn", "ownerpersondoccode", "ownerpersondocnum", "ownerpersondocdate", "operationname", "operationdate", "operationdepartmentname", "operationattorney", "operationlising", "holdertypeid", "holderpersondoccode", "holderpersondocnum", "holderpersondocdate", "holderpersondocissuer", "holderpersonlastname", "holderpersonfirstname", "holderpersonmiddlename", "holderpersonbirthdate", "holderpersonbirthregionid", "holderpersonsex", "holderpersonbirthplace", "holderpersoninn", "holderpersonsnils", "holderpersonogrnip", "holderaddressguid", "holderaddressregionid", "holderaddressregionname", "holderaddressdistrict", "holderaddressmundistrict", "holderaddresssettlement", "holderaddressstreet", "holderaddressbuilding", "holderaddressstructureid", "holderaddressstructurename", "holderaddressstructure" FROM "vehicle_history" WHERE "sys_from" <= 332 AND "sys_to" >= 332 @@ -11,9 +18,8 @@ export function stressQuery() { SELECT "vehicleguid", "reestrid", "reestrstatus", "vehicleregno", "vehiclevin", "vehiclevin2", "vehiclechassisnum", "vehiclereleaseyear", "operationregdoctypename", "operationregdoc", "operationregdocissuedate", "operationregdoccomments", "vehicleptstypename", "vehicleptsnum", "vehicleptsissuedate", "vehicleptsissuer", "vehicleptscomments", "vehiclebodycolor", "vehiclebrand", "vehiclemodel", "vehiclebrandmodel", "vehiclebodynum", "vehiclecost", "vehiclegasequip", "vehicleproducername", "vehiclegrossmass", "vehiclemass", "vehiclesteeringwheeltypeid", "vehiclekpptype", "vehicletransmissiontype", "vehicletypename", "vehiclecategory", "vehicletypeunit", "vehicleecoclass", "vehiclespecfuncname", "vehicleenclosedvolume", "vehicleenginemodel", "vehicleenginenum", "vehicleenginepower", "vehicleenginepowerkw", "vehicleenginetype", "holdrestrictiondate", "approvalnum", "approvaldate", "approvaltype", "utilizationfeename", "customsdoc", "customsdocdate", "customsdocissue", "customsdocrestriction", "customscountryremovalid", "customscountryremovalname", "ownerorgname", "ownerinn", "ownerogrn", "ownerkpp", "ownerpersonlastname", "ownerpersonfirstname", "ownerpersonmiddlename", "ownerpersonbirthdate", "ownerbirthplace", "ownerpersonogrnip", "owneraddressindex", "owneraddressmundistrict", "owneraddresssettlement", "owneraddressstreet", "ownerpersoninn", "ownerpersondoccode", "ownerpersondocnum", "ownerpersondocdate", "operationname", "operationdate", "operationdepartmentname", "operationattorney", "operationlising", "holdertypeid", "holderpersondoccode", "holderpersondocnum", "holderpersondocdate", "holderpersondocissuer", "holderpersonlastname", "holderpersonfirstname", "holderpersonmiddlename", "holderpersonbirthdate", "holderpersonbirthregionid", "holderpersonsex", "holderpersonbirthplace", "holderpersoninn", "holderpersonsnils", "holderpersonogrnip", "holderaddressguid", "holderaddressregionid", "holderaddressregionname", "holderaddressdistrict", "holderaddressmundistrict", "holderaddresssettlement", "holderaddressstreet", "holderaddressbuilding", "holderaddressstructureid", "holderaddressstructurename", "holderaddressstructure" FROM "vehicle_actual" WHERE "sys_from" <= 332) AS "t3" - WHERE "reestrid" = 452842574` -} + WHERE "reestrid" = ?` export default () => { - query(client, stressQuery()) + tarantool.call(client, "query", [pattern, [randomItem(ids)]]); } \ No newline at end of file -- GitLab