Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/dev/loadgen/configs/workspace-preview-benchmark.yaml
2498 views
1
workspaces: 12
2
ideImage: eu.gcr.io/gitpod-core-dev/build/ide/code:commit-ff263e14024f00d0ed78386b4417dfa6bcd4ae2f
3
waitForRunning: "630s"
4
waitForStopping: "630s"
5
successRate: 1
6
environment:
7
- name: "THEIA_SUPERVISOR_TOKENS"
8
value: '[{"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}]'
9
workspaceClass: ""
10
workspaceTimeout: 1h
11
repos:
12
- cloneURL: https://github.com/gitpod-io/workspace-stress
13
cloneTarget: main
14
score: 20
15
workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest
16
environment:
17
# cpu
18
- name: "CPU_COUNT" # start N workers
19
value: "1"
20
- name: "CPU_BACKOFF" # wait N microseconds between the start of each stress worker process
21
value: "10000000"
22
- name: "CPU_TIMEOUT" # stop cpu stress test after N seconds
23
value: "600s"
24
# common IO
25
- name: "DISK_IO_FILE_SIZE" # how big of a test-file should be used
26
value: "2g"
27
- name: "DISK_IO_TOTAL" # specifies how much I/O will be done
28
value: "100g"
29
- name: "DISK_IO_TIMEOUT" # stop io stress test after N seconds
30
value: "600"
31
# random read/write IO
32
# - name: DISK_IO_MODE # values can be read, write, rw, randreadm randwrite, randrw
33
# value: "randrw"
34
# - name: "DISK_IO_BLOCKSIZE" # specifies the block-size that will be used
35
# value: "8k"
36
# - name: "DISK_IO_FSYNC" # sync command which writes kernel cached pages to disk every number of blocks specified
37
# value: 1000
38
# - name: "DISK_IO_DEPTH" # specifies number of I/O units to keep in-flight
39
# value: 10
40
# - name: "DISK_IO_JOBS" # specifies the number of jobs
41
# value: 20
42
# sequential read/write IO
43
- name: DISK_IO_MODE # values can be read, write, rw, randreadm randwrite, randrw
44
value: "rw"
45
- name: "DISK_IO_BLOCKSIZE" # specifies the block-size that will be used
46
value: "1024k"
47
- name: "DISK_IO_FSYNC" # sync command which writes kernel cached pages to disk every number of blocks specified
48
value: 10000
49
- name: "DISK_IO_DEPTH" # specifies number of I/O units to keep in-flight
50
value: 32
51
- name: "DISK_IO_JOBS" # specifies the number of jobs
52
value: 1
53
# memory
54
- name: "MEMORY_BYTES" # systems if not enough physical memory and swap is not available
55
value: "2G"
56
- name: "MEMORY_TIMEOUT" # stop cpu stress test after N seconds
57
value: "600s"
58
# backup
59
- name: "BACKUP_SIZE" # size of the backup in gigabyte
60
value: 12
61
# network
62
- name: "NETWORK_WORKERS" # number of workers stressin
63
value: 1
64
# tasks
65
- name: "GITPOD_TASKS"
66
value: "[{\"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}\"}]"
67
- cloneURL: https://github.com/gitpod-io/template-typescript-node
68
cloneTarget: master
69
score: 20
70
workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest
71
- cloneURL: https://github.com/gitpod-io/template-typescript-react
72
cloneTarget: main
73
score: 20
74
workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest
75
- cloneURL: https://github.com/gitpod-io/template-python-django
76
cloneTarget: main
77
score: 20
78
workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest
79
- cloneURL: https://github.com/gitpod-io/non-gitpodified-repo
80
score: 20
81
cloneTarget: main
82
workspaceImage: registry.hub.docker.com/gitpod/workspace-full:latest
83
84