Sha256: 5226bf0a9615bd2eb4a376b41cef129bf9899bba7fb7166927c4bab19fe02102
Contents?: true
Size: 1.27 KB
Versions: 15
Compression:
Stored size: 1.27 KB
Contents
require "jmeter_perf" namespace :test do desc "Runs performance tests" task performance: :environment do port = 3301 puts "Starting Rails server on port #{port}" pid = Process.spawn("bundle exec rails server -p #{port}", out: File::NULL, err: $stderr) Process.detach(pid) sleep 5 summaries = ["fast", "random", "slow"].map do |action| JmeterPerf.test do threads count: 2, duration: 10 do get( name: "#{action} action", url: "http://127.0.0.1:#{port}/test/#{action}" ) end end.run( name: action, out_jmx: "tmp/#{action}.jmx", out_jmeter_log: "tmp/#{action}.log", out_jtl: "tmp/#{action}.jtl", out_cmd_log: "tmp/#{action}_cmd.log" ) end base_summary = summaries.shift comparator = JmeterPerf::Report::Comparator.new(base_summary, base_summary, "#{base_summary.name}_vs_#{base_summary.name}") comparator.generate_reports(output_dir: "tmp") summaries.each do |summary| comparator = JmeterPerf::Report::Comparator.new(base_summary, summary, "#{base_summary.name}_vs_#{summary.name}") comparator.generate_reports(output_dir: "tmp") end ensure Process.kill("TERM", pid) puts "Rails server stopped." end end
Version data entries
15 entries across 15 versions & 1 rubygems