Path: blob/main/dev/loadgen/configs/prod-benchmark.yaml
2497 views
## start with1## loadgen benchmark prod-benchmark.yaml23workspaces: 1004ideImage: eu.gcr.io/gitpod-core-dev/build/ide/code:commit-ff263e14024f00d0ed78386b4417dfa6bcd4ae2f5# wait 30s longer than the CPU and memory timeouts6waitForRunning: "630s"7# wait 30s longer than the CPU and memory timeouts8waitForStopping: "630s"9successRate: 110environment:11- name: "THEIA_SUPERVISOR_TOKENS"12value: '[{"token":"foobar","host":"gitpod-staging.com","scope":["function:getWorkspace","function:getLoggedInUser","function:getWorkspaceOwner","function:getWorkspaceUsers","function:isWorkspaceOwner","function:controlAdmission","function:setWorkspaceTimeout","function:getWorkspaceTimeout","function:sendHeartBeat","function:getOpenPorts","function:openPort","function:closePort","function:generateNewGitpodToken","function:takeSnapshot","function:stopWorkspace","resource:workspace::fa498dcc-0a84-448f-9666-79f297ad821a::get/update","resource:workspaceInstance::e0a17083-6a78-441a-9b97-ef90d6aff463::get/update/delete","resource:snapshot::*::create/get","resource:gitpodToken::*::create","resource:userStorage::*::create/get/update"],"expiryDate":"2020-12-01T07:55:12.501Z","reuse":2}]'13workspaceClass: "g1-standard"14workspaceTimeout: 1h15featureFlags:16# https://github.com/gitpod-io/gitpod/blob/df3e15a1d401f525766db1ee5b22203562fe915a/components/ws-manager-api/core.proto#L64117# from core.proto: WORKSPACE_CONNECTION_LIMITING = 10;18- 1019repos:20- cloneURL: https://github.com/gitpod-io/workspace-stress21cloneTarget: main22score: 2023workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest24environment:25# cpu26- name: "CPU_COUNT" # start N workers27value: "3"28- name: "CPU_BACKOFF" # wait N microseconds between the start of each stress worker process29value: "10000000"30- name: "CPU_TIMEOUT" # stop cpu stress test after N seconds31value: "600s"32# common IO33- name: "DISK_IO_FILE_SIZE" # how big of a test-file should be used34value: "2g"35- name: "DISK_IO_TOTAL" # specifies how much I/O will be done36value: "100g"37- name: "DISK_IO_TIMEOUT" # stop io stress test after N seconds38value: "600"39# random read/write IO40# - name: DISK_IO_MODE # values can be read, write, rw, randreadm randwrite, randrw41# value: "randrw"42# - name: "DISK_IO_BLOCKSIZE" # specifies the block-size that will be used43# value: "8k"44# - name: "DISK_IO_FSYNC" # sync command which writes kernel cached pages to disk every number of blocks specified45# value: 100046# - name: "DISK_IO_DEPTH" # specifies number of I/O units to keep in-flight47# value: 1048# - name: "DISK_IO_JOBS" # specifies the number of jobs49# value: 2050# sequential read/write IO51- name: DISK_IO_MODE # values can be read, write, rw, randreadm randwrite, randrw52value: "rw"53- name: "DISK_IO_BLOCKSIZE" # specifies the block-size that will be used54value: "1024k"55- name: "DISK_IO_FSYNC" # sync command which writes kernel cached pages to disk every number of blocks specified56value: 1000057- name: "DISK_IO_DEPTH" # specifies number of I/O units to keep in-flight58value: 3259- name: "DISK_IO_JOBS" # specifies the number of jobs60value: 161# memory62- name: "MEMORY_BYTES" # systems if not enough physical memory and swap is not available63value: "6G"64- name: "MEMORY_TIMEOUT" # stop cpu stress test after N seconds65value: "600s"66# backup67- name: "BACKUP_SIZE" # size of the backup in gigabyte68value: 1269# network70- name: "NETWORK_WORKERS" # number of workers stressin71value: 172# tasks73- name: "GITPOD_TASKS"74value: "[{\"name\":\"Setup\",\"init\":\"sudo install-packages stress-ng fio && gp sync-done setup\"},{\"name\":\"start cpu stress\",\"init\":\"gp sync-await setup\",\"command\":\"stress-ng --cpu ${CPU_COUNT:-3} --backoff ${CPU_BACKOFF:-10000000} --timeout ${CPU_TIMEOUT:-600s}\"},{\"name\":\"start io stress\",\"init\":\"gp sync-await setup\",\"command\":\"fio --name io-stress --eta-newline=5s --filename=/workspace/gitpod.temp --rw=${DISK_IO_MODE} --size=${DISK_IO_FILE_SIZE:-2g} --io_size=${DISK_IO_TOTAL:-50g} --blocksize=${DISK_IO_BLOCKSIZE} --ioengine=libaio --fsync=${DISK_IO_FSYNC} --iodepth=${DISK_IO_DEPTH} --direct=1 --numjobs=${DISK_IO_JOBS} --runtime=${DISK_IO_TIMEOUT:-600}\"},{\"name\":\"start memory stress\",\"init\":\"gp sync-await setup\",\"command\":\"stress-ng --vm 1 --vm-keep --vm-bytes ${MEMORY_BYTES:-6G} --timeout ${MEMORY_TIMEOUT:-600s}\"},{\"name\":\"create backup file\",\"init\":\"gp sync-await setup\",\"command\":\"dd if=/dev/zero of=/workspace/benchmark-backup bs=1000M count=${BACKUP_SIZE:-2}\"},{\"name\":\"start network stress\",\"init\":\"gp sync-await setup\",\"command\":\"stress-ng --class network --all ${NETWORK_WORKERS:-4}\"}]"75- cloneURL: https://github.com/gitpod-samples/template-typescript-node76cloneTarget: master77score: 2078workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest79workspaceClass: "g1-large"80environment:81- name: "GITPOD_TASKS"82value: "[{\"name\":\"Open port 1\",\"command\":\"gp ports visibility 6879:private\"},{\"name\":\"Open port 2\",\"command\":\"gp ports visibility 7869:private\"}]"83- cloneURL: https://github.com/gitpod-samples/template-typescript-react84cloneTarget: main85score: 2086workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest87workspaceClass: "default"88environment:89- name: "GITPOD_TASKS"90value: "[{\"name\":\"Open port 1\",\"command\":\"gp ports visibility 6879:private\"},{\"name\":\"Open port 2\",\"command\":\"gp ports visibility 7869:private\"}]"91- cloneURL: https://github.com/gitpod-samples/template-python-django92cloneTarget: main93score: 2094workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest95workspaceClass: "gitpodio-internal-xl"96environment:97- name: "GITPOD_TASKS"98value: "[{\"name\":\"Open port 1\",\"command\":\"gp ports visibility 6879:private\"},{\"name\":\"Open port 2\",\"command\":\"gp ports visibility 7869:private\"}]"99- cloneURL: https://github.com/gitpod-io/non-gitpodified-repo100score: 20101cloneTarget: main102workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest103environment:104- name: "GITPOD_TASKS"105value: "[{\"name\":\"Open port 1\",\"command\":\"gp ports visibility 6879:private\"},{\"name\":\"Open port 2\",\"command\":\"gp ports visibility 7869:private\"}]"106107108