Significantly increase sweep space

pull/8123/head
Craig Tiller 9 years ago
parent 6c38c1be30
commit c5aa700538
  1. 30
      tools/run_tests/performance/scenario_config.py
  2. 23730
      tools/run_tests/tests.json

@ -94,6 +94,13 @@ def remove_nonproto_fields(scenario):
return scenario
def geometric_progression(start, stop, step):
n = start
while n < stop:
yield int(round(n))
n *= step
def _ping_pong_scenario(name, rpc_type,
client_type, server_type,
secure=True,
@ -105,7 +112,9 @@ def _ping_pong_scenario(name, rpc_type,
async_server_threads=0,
warmup_seconds=WARMUP_SECONDS,
categories=[],
channels=None):
channels=None,
outstanding=None,
payload_size=None):
"""Creates a basic ping pong scenario."""
scenario = {
'name': name,
@ -245,13 +254,18 @@ class CXXLanguage:
secure=secure,
categories=[SCALABLE])
for channels in [1, 3, 10, 31, 100, 316, 1000]:
yield _ping_pong_scenario(
'cpp_protobuf_%s_unary_qps_unconstrained_%s_%d_channels' % (synchronicity, secstr, channels),
rpc_type='UNARY',
client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
unconstrained_client=synchronicity, secure=secure,
categories=[SWEEP], channels=channels)
for channels in geometric_progression(1, 500, math.sqrt(10)):
for outstanding in geometric_progression(1, 20000, math.sqrt(10)):
for payload in geometric_progression(1, 1024*1024, 10):
if synchronicity == 'sync' and outstanding > 1000: continue
if payload * outstanding > 1024*1024*1024: continue
if outstanding < channels: continue
yield _ping_pong_scenario(
'cpp_protobuf_%s_unary_qps_unconstrained_%s_%d_channels_%d_outstanding_%d_payload' % (synchronicity, secstr, channels, outstanding, payload),
rpc_type='UNARY',
client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
unconstrained_client=synchronicity, secure=secure,
categories=[SWEEP], channels=channels, outstanding=outstanding)
def __str__(self):
return 'c++'

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save