summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qa/Rakefile6
-rw-r--r--qa/load/artillery.yml17
-rw-r--r--qa/qa/tools/generate_perf_testdata.rb2
3 files changed, 14 insertions, 11 deletions
diff --git a/qa/Rakefile b/qa/Rakefile
index d0101740f1a..7ac018f7286 100644
--- a/qa/Rakefile
+++ b/qa/Rakefile
@@ -27,9 +27,9 @@ task :run_artillery_load_tests do
end
urls = YAML.safe_load(File.read(urls_file))
- ENV['HOST_URL'] = urls[:host]
- ENV['LARGE_ISSUE_URL'] = urls[:large_issue]
- ENV['LARGE_MR_URL'] = urls[:large_mr]
+ ENV['HOST_URL'] = urls["host"]
+ ENV['LARGE_ISSUE_URL'] = urls["large_issue"]
+ ENV['LARGE_MR_URL'] = urls["large_mr"]
end
sh('artillery run load/artillery.yml -o report.json')
diff --git a/qa/load/artillery.yml b/qa/load/artillery.yml
index e2c3c293d8b..17d253ec480 100644
--- a/qa/load/artillery.yml
+++ b/qa/load/artillery.yml
@@ -1,15 +1,18 @@
config:
target: "{{ $processEnvironment.HOST_URL }}"
+ http:
+ pool: 10 # All HTTP requests from all virtual users will be sent over the same <pool> connections.
+ # This also means that there is a limit on the number of requests sent per second.
phases:
- - duration: 60
- arrivalRate: 1
+ - duration: 30
+ arrivalRate: 10
name: "Warm up"
- - duration: 120
- arrivalRate: 1
- rampTo: 50
+ - duration: 90
+ arrivalRate: 10
+ rampTo: 100
name: "Gradual ramp up"
- - duration: 60
- arrivalRate: 50
+ - duration: 90
+ arrivalRate: 100
name: "Sustained max load"
scenarios:
- name: "Visit large issue url"
diff --git a/qa/qa/tools/generate_perf_testdata.rb b/qa/qa/tools/generate_perf_testdata.rb
index 0a0dbdf5b15..4fda49c8e48 100644
--- a/qa/qa/tools/generate_perf_testdata.rb
+++ b/qa/qa/tools/generate_perf_testdata.rb
@@ -46,7 +46,7 @@ module QA
threads_arr.each(&:join)
STDOUT.puts "\nURLs: #{@urls}"
- File.open("urls.yml", "w") { |file| file.puts @urls.to_yaml }
+ File.open("urls.yml", "w") { |file| file.puts @urls.stringify_keys.to_yaml }
STDOUT.puts "\nDone"
end