Skip to content
Snippets Groups Projects
Commit 34fcf43d authored by vjpai's avatar vjpai
Browse files

Restart workers in each scenario

parent 647def23
No related branches found
No related tags found
No related merge requests found
...@@ -42,15 +42,10 @@ config=opt ...@@ -42,15 +42,10 @@ config=opt
make CONFIG=$config qps_worker qps_driver -j8 make CONFIG=$config qps_worker qps_driver -j8
bins/$config/qps_worker -driver_port 10000 &
PID1=$!
bins/$config/qps_worker -driver_port 10010 &
PID2=$!
# #
# Put a timeout on these tests # Put a timeout on these tests
# #
((sleep 900; kill $$ && killall qps_worker && rm -f /tmp/qps-test.$$ )&) ((sleep 900; killall qps_worker && rm -f /tmp/qps-test.$$ && kill $$)&)
export QPS_WORKERS="localhost:10000,localhost:10010" export QPS_WORKERS="localhost:10000,localhost:10010"
...@@ -71,38 +66,52 @@ halfcores=`expr $cores / 2` ...@@ -71,38 +66,52 @@ halfcores=`expr $cores / 2`
for secure in true false; do for secure in true false; do
# Scenario 1: generic async streaming ping-pong (contentionless latency) # Scenario 1: generic async streaming ping-pong (contentionless latency)
bins/$config/qps_worker -driver_port 10000 &
bins/$config/qps_worker -driver_port 10010 &
bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \ bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=1 \ --server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=1 \
--client_channels=1 --bbuf_req_size=0 --bbuf_resp_size=0 \ --client_channels=1 --bbuf_req_size=0 --bbuf_resp_size=0 \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \ --async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1 \ --num_servers=1 --num_clients=1 \
--server_core_limit=$halfcores --client_core_limit=0 --server_core_limit=$halfcores --client_core_limit=0
bins/$config/qps_driver --quit=true
# Scenario 2: generic async streaming "unconstrained" (QPS) # Scenario 2: generic async streaming "unconstrained" (QPS)
bins/$config/qps_worker -driver_port 10000 &
bins/$config/qps_worker -driver_port 10010 &
bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \ bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \ --server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \
--client_channels=$wide --bbuf_req_size=0 --bbuf_resp_size=0 \ --client_channels=$wide --bbuf_req_size=0 --bbuf_resp_size=0 \
--async_client_threads=0 --async_server_threads=0 --secure_test=$secure \ --async_client_threads=0 --async_server_threads=0 --secure_test=$secure \
--num_servers=1 --num_clients=0 \ --num_servers=1 --num_clients=0 \
--server_core_limit=$halfcores --client_core_limit=0 |& tee /tmp/qps-test.$$ --server_core_limit=$halfcores --client_core_limit=0 |& tee /tmp/qps-test.$$
bins/$config/qps_driver --quit=true
# Scenario 2b: QPS with a single server core # Scenario 2b: QPS with a single server core
bins/$config/qps_worker -driver_port 10000 &
bins/$config/qps_worker -driver_port 10010 &
bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \ bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \ --server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \
--client_channels=$wide --bbuf_req_size=0 --bbuf_resp_size=0 \ --client_channels=$wide --bbuf_req_size=0 --bbuf_resp_size=0 \
--async_client_threads=0 --async_server_threads=0 --secure_test=$secure \ --async_client_threads=0 --async_server_threads=0 --secure_test=$secure \
--num_servers=1 --num_clients=0 --server_core_limit=1 --client_core_limit=0 --num_servers=1 --num_clients=0 --server_core_limit=1 --client_core_limit=0
bins/$config/qps_driver --quit=true
# Scenario 2c: protobuf-based QPS # Scenario 2c: protobuf-based QPS
bins/$config/qps_worker -driver_port 10000 &
bins/$config/qps_worker -driver_port 10010 &
bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \ bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_SERVER --outstanding_rpcs_per_channel=$deep \ --server_type=ASYNC_SERVER --outstanding_rpcs_per_channel=$deep \
--client_channels=$wide --simple_req_size=0 --simple_resp_size=0 \ --client_channels=$wide --simple_req_size=0 --simple_resp_size=0 \
--async_client_threads=0 --async_server_threads=0 --secure_test=$secure \ --async_client_threads=0 --async_server_threads=0 --secure_test=$secure \
--num_servers=1 --num_clients=0 \ --num_servers=1 --num_clients=0 \
--server_core_limit=$halfcores --client_core_limit=0 --server_core_limit=$halfcores --client_core_limit=0
bins/$config/qps_driver --quit=true
# Scenario 3: Latency at sub-peak load (all clients equally loaded) # Scenario 3: Latency at sub-peak load (all clients equally loaded)
for loadfactor in 0.7; do for loadfactor in 0.7; do
bins/$config/qps_worker -driver_port 10000 &
bins/$config/qps_worker -driver_port 10010 &
bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \ bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \ --server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \
--client_channels=$wide --bbuf_req_size=0 --bbuf_resp_size=0 \ --client_channels=$wide --bbuf_req_size=0 --bbuf_resp_size=0 \
...@@ -110,27 +119,31 @@ for secure in true false; do ...@@ -110,27 +119,31 @@ for secure in true false; do
--num_servers=1 --num_clients=0 --poisson_load=`awk -v lf=$loadfactor \ --num_servers=1 --num_clients=0 --poisson_load=`awk -v lf=$loadfactor \
'$5 == "QPS:" {print int(lf * $6); exit}' /tmp/qps-test.$$` \ '$5 == "QPS:" {print int(lf * $6); exit}' /tmp/qps-test.$$` \
--server_core_limit=$halfcores --client_core_limit=0 --server_core_limit=$halfcores --client_core_limit=0
bins/$config/qps_driver --quit=true
done done
rm /tmp/qps-test.$$ rm /tmp/qps-test.$$
# Scenario 4: Single-channel bidirectional throughput test (like TCP_STREAM). # Scenario 4: Single-channel bidirectional throughput test (like TCP_STREAM).
bins/$config/qps_worker -driver_port 10000 &
bins/$config/qps_worker -driver_port 10010 &
bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \ bins/$config/qps_driver --rpc_type=STREAMING --client_type=ASYNC_CLIENT \
--server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \ --server_type=ASYNC_GENERIC_SERVER --outstanding_rpcs_per_channel=$deep \
--client_channels=1 --bbuf_req_size=$big --bbuf_resp_size=$big \ --client_channels=1 --bbuf_req_size=$big --bbuf_resp_size=$big \
--async_client_threads=1 --async_server_threads=1 --secure_test=$secure \ --async_client_threads=1 --async_server_threads=1 --secure_test=$secure \
--num_servers=1 --num_clients=1 \ --num_servers=1 --num_clients=1 \
--server_core_limit=$halfcores --client_core_limit=0 --server_core_limit=$halfcores --client_core_limit=0
bins/$config/qps_driver --quit=true
# Scenario 5: Sync unary ping-pong with protobufs # Scenario 5: Sync unary ping-pong with protobufs
bins/$config/qps_worker -driver_port 10000 &
bins/$config/qps_worker -driver_port 10010 &
bins/$config/qps_driver --rpc_type=UNARY --client_type=SYNC_CLIENT \ bins/$config/qps_driver --rpc_type=UNARY --client_type=SYNC_CLIENT \
--server_type=SYNC_SERVER --outstanding_rpcs_per_channel=1 \ --server_type=SYNC_SERVER --outstanding_rpcs_per_channel=1 \
--client_channels=1 --simple_req_size=0 --simple_resp_size=0 \ --client_channels=1 --simple_req_size=0 --simple_resp_size=0 \
--secure_test=$secure --num_servers=1 --num_clients=1 \ --secure_test=$secure --num_servers=1 --num_clients=1 \
--server_core_limit=$halfcores --client_core_limit=0 --server_core_limit=$halfcores --client_core_limit=0
bins/$config/qps_driver --quit=true
done done
bins/$config/qps_driver --quit=true
wait wait
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