Skip to content
Snippets Groups Projects
Commit 269c4b98 authored by Vijay Pai's avatar Vijay Pai
Browse files

Testing scenarios for various performance characteristics

parent ddd91dbb
No related branches found
No related tags found
No related merge requests found
#!/bin/sh
# Copyright 2015, Google Inc.
# Copyright 2015-2016, Google Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
......@@ -37,22 +37,93 @@ fi
bins=`find . .. ../.. ../../.. -name bins | head -1`
for secure in true false
do
for channels in 1 2 4 8
do
for client in SYNC_CLIENT ASYNC_CLIENT
do
for server in SYNC_SERVER ASYNC_SERVER
do
for rpc in UNARY STREAMING
do
echo "Test $rpc $client $server, $channels channels, secure=$secure"
"$bins"/opt/qps_driver --rpc_type=$rpc \
--client_type=$client --server_type=$server \
--secure_test=$secure
done
done
done
done
set -x
big=65536
half=`echo $QPS_WORKERS | awk -F, '{print int(NF/2)}'`
for secure in true false; do
# Scenario 1: generic async streaming ping-pong (contentionless latency)
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=1 \
--client_channels=1 --bbuf_req_size=0 --bbuf_resp_size=0 \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1
# Scenario 2: generic async streaming "unconstrained" (QPS)
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=100 \
--client_channels=64 --bbuf_req_size=0 --bbuf_resp_size=0 \
--async_client_threads=0 --async_server_threads=0 --secure_test=$secure \
--num_servers=1 --num_clients=0
# Scenario 3: Latency at near-peak load (TBD)
# Scenario 4: Single-channel bidirectional throughput test (like TCP_STREAM).
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=100 \
--client_channels=1 --bbuf_req_size=$big --bbuf_resp_size=$big \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1
# Scenario 5: Sync unary ping-pong with protobufs
"$bins"/opt/qps_driver --rpc_type=UNARY --client_type=SYNC_CLIENT \
--server_type=SYNC_SERVER --outstanding_rpcs_per_channel=1 \
--client_channels=1 --simple_req_size=0 --simple_resp_size=0 \
--secure_test=$secure --num_servers=1 --num_clients=1
# Scenario 6: Sync streaming ping-pong with protobufs
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=SYNC_CLIENT \
--server_type=SYNC_SERVER --outstanding_rpcs_per_channel=1 \
--client_channels=1 --simple_req_size=0 --simple_resp_size=0 \
--secure_test=$secure --num_servers=1 --num_clients=1
# Scenario 7: Async unary ping-pong with protobufs
"$bins"/opt/qps_driver --rpc_type=UNARY --client_type=ASYNC_CLIENT \
--server_type=ASYNC_SERVER --outstanding_rpcs_per_channel=1 \
--client_channels=1 --simple_req_size=0 --simple_resp_size=0 \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1
# Scenario 8: Async streaming ping-pong with protobufs
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_SERVER --outstanding_rpcs_per_channel=1 \
--client_channels=1 --simple_req_size=0 --simple_resp_size=0 \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1
# Scenario 9: Crossbar QPS test
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=100 \
--client_channels=64 --bbuf_req_size=0 --bbuf_resp_size=0 \
--async_client_threads=0 --async_server_threads=0 --secure_test=$secure \
--num_servers=$half --num_clients=0
# Scenario 10: Multi-channel bidir throughput test
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=100 \
--client_channels=64 --bbuf_req_size=$big --bbuf_resp_size=$big \
--async_client_threads=0 --async_server_threads=0 --secure_test=$secure \
--num_servers=1 --num_clients=1
# Scenario 11: Single-channel request throughput test
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=100 \
--client_channels=1 --bbuf_req_size=$big --bbuf_resp_size=0 \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1
# Scenario 12: Single-channel response throughput test
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=100 \
--client_channels=1 --bbuf_req_size=0 --bbuf_resp_size=$big \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1
# Scenario 13: Single-channel bidirectional protobuf throughput test
"$bins"/opt/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_SERVER --outstanding_rpcs_per_channel=100 \
--client_channels=1 --simple_req_size=$big --simple_resp_size=$big \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1
done
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment