mirror of
https://github.com/denoland/deno.git
synced 2025-09-27 12:49:10 +00:00
benchmarks: make latency benchmark less noisy (#2689)
This commit is contained in:
parent
187310a3e1
commit
ff96e3dc63
6 changed files with 23 additions and 8 deletions
|
@ -184,8 +184,8 @@ def run(server_cmd, addr, merge_env=None, origin_cmd=None):
|
||||||
time.sleep(10) # wait for server to wake up. TODO racy.
|
time.sleep(10) # wait for server to wake up. TODO racy.
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cmd = "third_party/wrk/%s/wrk -d %s http://%s/" % (util.platform(),
|
cmd = "third_party/wrk/%s/wrk -d %s --latency http://%s/" % (
|
||||||
DURATION, addr)
|
util.platform(), DURATION, addr)
|
||||||
print cmd
|
print cmd
|
||||||
output = subprocess.check_output(cmd, shell=True)
|
output = subprocess.check_output(cmd, shell=True)
|
||||||
stats = util.parse_wrk_output(output)
|
stats = util.parse_wrk_output(output)
|
||||||
|
|
5
tools/testdata/wrk1.txt
vendored
5
tools/testdata/wrk1.txt
vendored
|
@ -3,6 +3,11 @@ Running 10s test @ http://127.0.0.1:4500/
|
||||||
Thread Stats Avg Stdev Max +/- Stdev
|
Thread Stats Avg Stdev Max +/- Stdev
|
||||||
Latency 5.08ms 1.37ms 34.96ms 96.63%
|
Latency 5.08ms 1.37ms 34.96ms 96.63%
|
||||||
Req/Sec 0.92k 51.83 1.00k 78.50%
|
Req/Sec 0.92k 51.83 1.00k 78.50%
|
||||||
|
Latency Distribution
|
||||||
|
50% 1.96ms
|
||||||
|
75% 2.02ms
|
||||||
|
90% 2.43ms
|
||||||
|
99% 6.25ms
|
||||||
18381 requests in 10.00s, 0.89MB read
|
18381 requests in 10.00s, 0.89MB read
|
||||||
Socket errors: connect 0, read 18381, write 0, timeout 0
|
Socket errors: connect 0, read 18381, write 0, timeout 0
|
||||||
Requests/sec: 1837.86
|
Requests/sec: 1837.86
|
||||||
|
|
5
tools/testdata/wrk2.txt
vendored
5
tools/testdata/wrk2.txt
vendored
|
@ -3,6 +3,11 @@ Running 10s test @ http://127.0.0.1:4544/
|
||||||
Thread Stats Avg Stdev Max +/- Stdev
|
Thread Stats Avg Stdev Max +/- Stdev
|
||||||
Latency 402.90us 1.15ms 1.25us 94.86%
|
Latency 402.90us 1.15ms 1.25us 94.86%
|
||||||
Req/Sec 26.86k 2.01k 31.81k 78.71%
|
Req/Sec 26.86k 2.01k 31.81k 78.71%
|
||||||
|
Latency Distribution
|
||||||
|
50% 2.03ms
|
||||||
|
75% 2.10ms
|
||||||
|
90% 2.43ms
|
||||||
|
99% 6.22ms
|
||||||
539721 requests in 10.10s, 26.25MB read
|
539721 requests in 10.10s, 26.25MB read
|
||||||
Requests/sec: 53435.75
|
Requests/sec: 53435.75
|
||||||
Transfer/sec: 2.60MB
|
Transfer/sec: 2.60MB
|
5
tools/testdata/wrk3.txt
vendored
5
tools/testdata/wrk3.txt
vendored
|
@ -3,6 +3,11 @@ Running 10s test @ http://127.0.0.1:4544/
|
||||||
Thread Stats Avg Stdev Max +/- Stdev
|
Thread Stats Avg Stdev Max +/- Stdev
|
||||||
Latency 26.55ms 152.26ms 1.63s 97.45%
|
Latency 26.55ms 152.26ms 1.63s 97.45%
|
||||||
Req/Sec 48.26k 3.13k 61.41k 93.00%
|
Req/Sec 48.26k 3.13k 61.41k 93.00%
|
||||||
|
Latency Distribution
|
||||||
|
50% 1.98ms
|
||||||
|
75% 2.06ms
|
||||||
|
90% 2.47ms
|
||||||
|
99% 6.36ms
|
||||||
960491 requests in 10.00s, 80.61MB read
|
960491 requests in 10.00s, 80.61MB read
|
||||||
Requests/sec: 96037.58
|
Requests/sec: 96037.58
|
||||||
Transfer/sec: 8.06MB
|
Transfer/sec: 8.06MB
|
|
@ -384,7 +384,7 @@ def parse_wrk_output(output):
|
||||||
line)
|
line)
|
||||||
if stats['max_latency'] is None:
|
if stats['max_latency'] is None:
|
||||||
stats['max_latency'] = extract_max_latency_in_milliseconds(
|
stats['max_latency'] = extract_max_latency_in_milliseconds(
|
||||||
r'Latency(?:\s+(\d+.\d+)([a-z]+)){3}', line)
|
r'\s+99%(?:\s+(\d+.\d+)([a-z]+))', line)
|
||||||
return stats
|
return stats
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,17 +49,17 @@ class TestUtil(DenoTestCase):
|
||||||
f = open(os.path.join(root_path, "tools/testdata/wrk1.txt"))
|
f = open(os.path.join(root_path, "tools/testdata/wrk1.txt"))
|
||||||
stats = parse_wrk_output(f.read())
|
stats = parse_wrk_output(f.read())
|
||||||
assert stats['req_per_sec'] == 1837
|
assert stats['req_per_sec'] == 1837
|
||||||
assert stats['max_latency'] == 34.96
|
assert stats['max_latency'] == 6.25
|
||||||
|
|
||||||
f2 = open(os.path.join(root_path, "tools/testdata/wrk2.txt"))
|
f2 = open(os.path.join(root_path, "tools/testdata/wrk2.txt"))
|
||||||
stats2 = parse_wrk_output(f2.read())
|
stats2 = parse_wrk_output(f2.read())
|
||||||
assert stats2['req_per_sec'] == 53435
|
assert stats2['req_per_sec'] == 53435
|
||||||
assert stats2['max_latency'] == 0.00125
|
assert stats2['max_latency'] == 6.22
|
||||||
|
|
||||||
f3 = open(os.path.join(root_path, "tools/testdata/wrk3.txt"))
|
f3 = open(os.path.join(root_path, "tools/testdata/wrk3.txt"))
|
||||||
stats3 = parse_wrk_output(f3.read())
|
stats3 = parse_wrk_output(f3.read())
|
||||||
assert stats3['req_per_sec'] == 96037
|
assert stats3['req_per_sec'] == 96037
|
||||||
assert stats3['max_latency'] == 1630.0
|
assert stats3['max_latency'] == 6.36
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue