20 JAVA_WARMUP_SECONDS = 15
21 BENCHMARK_SECONDS = 30
23 SMOKETEST =
'smoketest'
28 DEFAULT_CATEGORIES = (SCALABLE, SMOKETEST)
32 'server_host_override':
'foo.test.google.fr'
43 OUTSTANDING_REQUESTS = {
'async': 6400,
'async-limited': 800,
'sync': 1000}
57 """Removes special-purpose fields that don't belong in the protobuf.
59 This function removes additional information about the scenario that is not
60 included in the ScenarioConfig protobuf message.
62 scenario.pop(
'CATEGORIES',
None)
63 scenario.pop(
'CLIENT_LANGUAGE',
None)
64 scenario.pop(
'SERVER_LANGUAGE',
None)
65 scenario.pop(
'EXCLUDED_POLL_ENGINES',
None)
80 'resp_size': resp_size,
82 if use_generic_payload:
83 r[
'bytebuf_params'] = sizes
85 r[
'simple_params'] = sizes
91 if offered_load
is None:
95 load[
'offered_load'] = offered_load
101 if 'channel_args' in config:
102 channel_args = config[
'channel_args']
105 config[
'channel_args'] = channel_args
107 if isinstance(value, int):
108 arg[
'int_value'] = value
110 arg[
'str_value'] = value
111 channel_args.append(arg)
119 use_generic_payload=False,
122 unconstrained_client=None,
123 client_language=None,
124 server_language=None,
125 async_server_threads=0,
128 server_threads_per_cq=0,
129 client_threads_per_cq=0,
130 warmup_seconds=WARMUP_SECONDS,
135 resource_quota_size=None,
136 messages_per_stream=None,
137 excluded_poll_engines=None,
140 """Creates a basic ping pong scenario."""
146 'client_type': client_type,
148 'outstanding_rpcs_per_channel': 1,
149 'client_channels': 1,
150 'async_client_threads': 1,
151 'client_processes': client_processes,
152 'threads_per_cq': client_threads_per_cq,
153 'rpc_type': rpc_type,
154 'histogram_params': HISTOGRAM_PARAMS,
158 'server_type': server_type,
160 'async_server_threads': async_server_threads,
161 'server_processes': server_processes,
162 'threads_per_cq': server_threads_per_cq,
165 'warmup_seconds': warmup_seconds,
166 'benchmark_seconds': BENCHMARK_SECONDS,
167 'CATEGORIES': list(DEFAULT_CATEGORIES),
168 'EXCLUDED_POLL_ENGINES': [],
170 if resource_quota_size:
171 scenario[
'server_config'][
'resource_quota_size'] = resource_quota_size
172 if use_generic_payload:
173 if server_type !=
'ASYNC_GENERIC_SERVER':
174 raise Exception(
'Use ASYNC_GENERIC_SERVER for generic payload.')
176 use_generic_payload, req_size, resp_size)
179 use_generic_payload, req_size, resp_size)
183 optimization_target =
'throughput'
185 if unconstrained_client:
186 outstanding_calls = outstanding
if outstanding
is not None else OUTSTANDING_REQUESTS[
187 unconstrained_client]
189 MAX_MEMORY_USE = 16 * 1024 * 1024 * 1024
190 if outstanding_calls *
max(req_size, resp_size) > MAX_MEMORY_USE:
191 outstanding_calls =
max(1,
192 MAX_MEMORY_USE /
max(req_size, resp_size))
193 wide = channels
if channels
is not None else WIDE
194 deep =
int(math.ceil(1.0 * outstanding_calls / wide))
197 'num_clients'] = num_clients
if num_clients
is not None else 0
198 scenario[
'client_config'][
'outstanding_rpcs_per_channel'] = deep
199 scenario[
'client_config'][
'client_channels'] = wide
200 scenario[
'client_config'][
'async_client_threads'] = 0
201 if offered_load
is not None:
202 optimization_target =
'latency'
204 scenario[
'client_config'][
'outstanding_rpcs_per_channel'] = 1
205 scenario[
'client_config'][
'client_channels'] = 1
206 scenario[
'client_config'][
'async_client_threads'] = 1
207 optimization_target =
'latency'
209 scenario[
'client_config'][
'load_params'] =
_load_params(offered_load)
211 optimization_channel_arg = {
212 'name':
'grpc.optimization_target',
213 'str_value': optimization_target
215 scenario[
'client_config'][
'channel_args'].append(optimization_channel_arg)
216 scenario[
'server_config'][
'channel_args'].append(optimization_channel_arg)
222 if messages_per_stream:
223 scenario[
'client_config'][
'messages_per_stream'] = messages_per_stream
226 scenario[
'CLIENT_LANGUAGE'] = client_language
229 scenario[
'SERVER_LANGUAGE'] = server_language
231 scenario[
'CATEGORIES'] = categories
232 if excluded_poll_engines:
234 scenario[
'EXCLUDED_POLL_ENGINES'] = excluded_poll_engines
252 return [
'cmake/build/qps_worker']
260 client_type=
'ASYNC_CLIENT',
261 server_type=
'ASYNC_SERVER',
268 async_server_threads=1,
273 'cpp_protobuf_async_unary_1channel_100rpcs_1MB',
275 client_type=
'ASYNC_CLIENT',
276 server_type=
'ASYNC_SERVER',
277 req_size=1024 * 1024,
278 resp_size=1024 * 1024,
279 unconstrained_client=
'async',
287 'cpp_protobuf_async_streaming_from_client_1channel_1MB',
288 rpc_type=
'STREAMING_FROM_CLIENT',
289 client_type=
'ASYNC_CLIENT',
290 server_type=
'ASYNC_SERVER',
291 req_size=1024 * 1024,
292 resp_size=1024 * 1024,
293 unconstrained_client=
'async',
303 'cpp_protobuf_async_unary_75Kqps_600channel_60Krpcs_300Breq_50Bresp',
305 client_type=
'ASYNC_CLIENT',
306 server_type=
'ASYNC_SERVER',
309 unconstrained_client=
'async',
314 async_server_threads=16,
315 server_threads_per_cq=1,
316 categories=[SCALABLE])
318 for secure
in [
True,
False]:
319 secstr =
'secure' if secure
else 'insecure'
320 smoketest_categories = ([SMOKETEST]
if secure
else [])
321 inproc_categories = ([INPROC]
if not secure
else [])
324 'cpp_generic_async_streaming_ping_pong_%s' % secstr,
325 rpc_type=
'STREAMING',
326 client_type=
'ASYNC_CLIENT',
327 server_type=
'ASYNC_GENERIC_SERVER',
328 use_generic_payload=
True,
329 async_server_threads=1,
331 categories=smoketest_categories + inproc_categories +
335 'cpp_generic_async_streaming_qps_unconstrained_%s' % secstr,
336 rpc_type=
'STREAMING',
337 client_type=
'ASYNC_CLIENT',
338 server_type=
'ASYNC_GENERIC_SERVER',
339 unconstrained_client=
'async',
340 use_generic_payload=
True,
342 client_threads_per_cq=2,
343 server_threads_per_cq=2,
344 minimal_stack=
not secure,
345 categories=smoketest_categories + inproc_categories +
350 'cpp_generic_async_streaming_qps_unconstrained_%smps_%s' %
352 rpc_type=
'STREAMING',
353 client_type=
'ASYNC_CLIENT',
354 server_type=
'ASYNC_GENERIC_SERVER',
355 unconstrained_client=
'async',
356 use_generic_payload=
True,
358 messages_per_stream=mps,
359 minimal_stack=
not secure,
360 categories=smoketest_categories + inproc_categories +
365 'cpp_generic_async_streaming_qps_unconstrained_%smps_%s' %
367 rpc_type=
'STREAMING',
368 client_type=
'ASYNC_CLIENT',
369 server_type=
'ASYNC_GENERIC_SERVER',
370 unconstrained_client=
'async',
371 use_generic_payload=
True,
373 messages_per_stream=mps,
374 minimal_stack=
not secure,
378 'cpp_generic_async_streaming_qps_1channel_1MBmsg_%s' % secstr,
379 rpc_type=
'STREAMING',
380 req_size=1024 * 1024,
381 resp_size=1024 * 1024,
382 client_type=
'ASYNC_CLIENT',
383 server_type=
'ASYNC_GENERIC_SERVER',
384 unconstrained_client=
'async',
385 use_generic_payload=
True,
387 minimal_stack=
not secure,
388 categories=inproc_categories + [SCALABLE],
393 'cpp_generic_async_streaming_qps_unconstrained_64KBmsg_%s' %
395 rpc_type=
'STREAMING',
398 client_type=
'ASYNC_CLIENT',
399 server_type=
'ASYNC_GENERIC_SERVER',
400 unconstrained_client=
'async',
401 use_generic_payload=
True,
403 minimal_stack=
not secure,
404 categories=inproc_categories + [SCALABLE])
407 'cpp_generic_async_streaming_qps_unconstrained_1cq_%s' % secstr,
408 rpc_type=
'STREAMING',
409 client_type=
'ASYNC_CLIENT',
410 server_type=
'ASYNC_GENERIC_SERVER',
411 unconstrained_client=
'async-limited',
412 use_generic_payload=
True,
414 client_threads_per_cq=1000000,
415 server_threads_per_cq=1000000,
419 'cpp_protobuf_async_streaming_qps_unconstrained_1cq_%s' %
421 rpc_type=
'STREAMING',
422 client_type=
'ASYNC_CLIENT',
423 server_type=
'ASYNC_SERVER',
424 unconstrained_client=
'async-limited',
426 client_threads_per_cq=1000000,
427 server_threads_per_cq=1000000,
428 categories=inproc_categories + [SCALABLE])
431 'cpp_protobuf_async_unary_qps_unconstrained_1cq_%s' % secstr,
433 client_type=
'ASYNC_CLIENT',
434 server_type=
'ASYNC_SERVER',
435 unconstrained_client=
'async-limited',
437 client_threads_per_cq=1000000,
438 server_threads_per_cq=1000000,
439 categories=inproc_categories + [SCALABLE])
442 'cpp_generic_async_streaming_qps_one_server_core_%s' % secstr,
443 rpc_type=
'STREAMING',
444 client_type=
'ASYNC_CLIENT',
445 server_type=
'ASYNC_GENERIC_SERVER',
446 unconstrained_client=
'async-limited',
447 use_generic_payload=
True,
448 async_server_threads=1,
449 minimal_stack=
not secure,
454 'cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_%s'
457 client_type=
'ASYNC_CLIENT',
458 server_type=
'SYNC_SERVER',
459 unconstrained_client=
'async',
461 minimal_stack=
not secure,
462 categories=smoketest_categories + inproc_categories +
466 'cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_%s'
469 client_type=
'ASYNC_CLIENT',
470 server_type=
'ASYNC_SERVER',
474 resp_size=8 * 1024 * 1024,
476 minimal_stack=
not secure,
477 categories=inproc_categories + [SCALABLE])
480 'cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_%s'
482 rpc_type=
'STREAMING',
483 client_type=
'ASYNC_CLIENT',
484 server_type=
'SYNC_SERVER',
485 unconstrained_client=
'async',
487 minimal_stack=
not secure,
491 'cpp_protobuf_async_unary_ping_pong_%s_1MB' % secstr,
493 client_type=
'ASYNC_CLIENT',
494 server_type=
'ASYNC_SERVER',
495 req_size=1024 * 1024,
496 resp_size=1024 * 1024,
498 minimal_stack=
not secure,
499 categories=smoketest_categories + inproc_categories +
503 'unary',
'streaming',
'streaming_from_client',
504 'streaming_from_server'
506 for synchronicity
in [
'sync',
'async']:
508 'cpp_protobuf_%s_%s_ping_pong_%s' %
509 (synchronicity, rpc_type, secstr),
510 rpc_type=rpc_type.upper(),
511 client_type=
'%s_CLIENT' % synchronicity.upper(),
512 server_type=
'%s_SERVER' % synchronicity.upper(),
513 async_server_threads=1,
514 minimal_stack=
not secure,
520 'cpp_protobuf_%s_%s_qps_unconstrained_%s_%db' %
521 (synchronicity, rpc_type, secstr, size),
522 rpc_type=rpc_type.upper(),
525 client_type=
'%s_CLIENT' % synchronicity.upper(),
526 server_type=
'%s_SERVER' % synchronicity.upper(),
527 unconstrained_client=synchronicity,
529 minimal_stack=
not secure,
532 maybe_scalable = [SCALABLE]
533 if rpc_type ==
'streaming_from_server' and synchronicity ==
'async' and secure:
537 maybe_scalable = [SWEEP]
540 'cpp_protobuf_%s_%s_qps_unconstrained_%s' %
541 (synchronicity, rpc_type, secstr),
542 rpc_type=rpc_type.upper(),
543 client_type=
'%s_CLIENT' % synchronicity.upper(),
544 server_type=
'%s_SERVER' % synchronicity.upper(),
545 unconstrained_client=synchronicity,
547 minimal_stack=
not secure,
548 server_threads_per_cq=2,
549 client_threads_per_cq=2,
550 categories=inproc_categories + maybe_scalable)
565 if rpc_type ==
'streaming':
568 'cpp_protobuf_%s_%s_qps_unconstrained_%smps_%s'
569 % (synchronicity, rpc_type, mps, secstr),
570 rpc_type=rpc_type.upper(),
571 client_type=
'%s_CLIENT' % synchronicity.upper(),
572 server_type=
'%s_SERVER' % synchronicity.upper(),
573 unconstrained_client=synchronicity,
575 messages_per_stream=mps,
576 minimal_stack=
not secure,
577 categories=inproc_categories + [SCALABLE])
581 'cpp_protobuf_%s_%s_qps_unconstrained_%smps_%s'
582 % (synchronicity, rpc_type, mps, secstr),
583 rpc_type=rpc_type.upper(),
584 client_type=
'%s_CLIENT' % synchronicity.upper(),
585 server_type=
'%s_SERVER' % synchronicity.upper(),
586 unconstrained_client=synchronicity,
588 messages_per_stream=mps,
589 minimal_stack=
not secure,
593 1, 20000, math.sqrt(10)):
595 1, 200000, math.sqrt(10)):
596 if synchronicity ==
'sync' and outstanding > 1200:
598 if outstanding < channels:
601 'cpp_protobuf_%s_%s_qps_unconstrained_%s_%d_channels_%d_outstanding'
602 % (synchronicity, rpc_type, secstr, channels,
604 rpc_type=rpc_type.upper(),
605 client_type=
'%s_CLIENT' % synchronicity.upper(),
606 server_type=
'%s_SERVER' % synchronicity.upper(),
607 unconstrained_client=synchronicity,
609 minimal_stack=
not secure,
612 outstanding=outstanding)
619 """The legacy Grpc.Core implementation from grpc/grpc."""
622 return [
'tools/run_tests/performance/run_worker_csharp.sh']
629 rpc_type=
'STREAMING',
630 client_type=
'ASYNC_CLIENT',
631 server_type=
'ASYNC_GENERIC_SERVER',
632 use_generic_payload=
True,
633 categories=[SMOKETEST, SCALABLE])
636 'csharp_generic_async_streaming_ping_pong_insecure_1MB',
637 rpc_type=
'STREAMING',
638 client_type=
'ASYNC_CLIENT',
639 server_type=
'ASYNC_GENERIC_SERVER',
640 req_size=1024 * 1024,
641 resp_size=1024 * 1024,
642 use_generic_payload=
True,
644 categories=[SMOKETEST, SCALABLE])
647 'csharp_generic_async_streaming_qps_unconstrained_insecure',
648 rpc_type=
'STREAMING',
649 client_type=
'ASYNC_CLIENT',
650 server_type=
'ASYNC_GENERIC_SERVER',
651 unconstrained_client=
'async',
652 use_generic_payload=
True,
654 categories=[SMOKETEST, SCALABLE])
657 rpc_type=
'STREAMING',
658 client_type=
'ASYNC_CLIENT',
659 server_type=
'ASYNC_SERVER')
663 client_type=
'ASYNC_CLIENT',
664 server_type=
'ASYNC_SERVER',
665 categories=[SMOKETEST, SCALABLE])
668 'csharp_protobuf_sync_to_async_unary_ping_pong',
670 client_type=
'SYNC_CLIENT',
671 server_type=
'ASYNC_SERVER')
674 'csharp_protobuf_async_unary_qps_unconstrained',
676 client_type=
'ASYNC_CLIENT',
677 server_type=
'ASYNC_SERVER',
678 unconstrained_client=
'async',
679 categories=[SMOKETEST, SCALABLE])
682 'csharp_protobuf_async_streaming_qps_unconstrained',
683 rpc_type=
'STREAMING',
684 client_type=
'ASYNC_CLIENT',
685 server_type=
'ASYNC_SERVER',
686 unconstrained_client=
'async',
687 categories=[SCALABLE])
691 client_type=
'SYNC_CLIENT',
692 server_type=
'SYNC_SERVER',
693 server_language=
'c++',
694 async_server_threads=1,
695 categories=[SMOKETEST, SCALABLE])
698 'csharp_to_cpp_protobuf_async_streaming_ping_pong',
699 rpc_type=
'STREAMING',
700 client_type=
'ASYNC_CLIENT',
701 server_type=
'ASYNC_SERVER',
702 server_language=
'c++',
703 async_server_threads=1)
706 'csharp_to_cpp_protobuf_async_unary_qps_unconstrained',
708 client_type=
'ASYNC_CLIENT',
709 server_type=
'ASYNC_SERVER',
710 unconstrained_client=
'async',
711 server_language=
'c++',
712 categories=[SCALABLE])
715 'csharp_to_cpp_protobuf_sync_to_async_unary_qps_unconstrained',
717 client_type=
'SYNC_CLIENT',
718 server_type=
'ASYNC_SERVER',
719 unconstrained_client=
'sync',
720 server_language=
'c++',
721 categories=[SCALABLE])
724 'cpp_to_csharp_protobuf_async_unary_qps_unconstrained',
726 client_type=
'ASYNC_CLIENT',
727 server_type=
'ASYNC_SERVER',
728 unconstrained_client=
'async',
729 client_language=
'c++',
730 categories=[SCALABLE])
734 client_type=
'ASYNC_CLIENT',
735 server_type=
'ASYNC_SERVER',
736 req_size=1024 * 1024,
737 resp_size=1024 * 1024,
738 categories=[SMOKETEST, SCALABLE])
745 """The pure C# implementation from grpc/grpc-dotnet."""
750 return [
'grpc_dotnet_not_supported_by_legacy_performance_runner.sh']
757 rpc_type=
'STREAMING',
758 client_type=
'ASYNC_CLIENT',
759 server_type=
'ASYNC_GENERIC_SERVER',
760 use_generic_payload=
True,
761 categories=[SMOKETEST, SCALABLE])
764 'dotnet_generic_async_streaming_ping_pong_insecure_1MB',
765 rpc_type=
'STREAMING',
766 client_type=
'ASYNC_CLIENT',
767 server_type=
'ASYNC_GENERIC_SERVER',
768 req_size=1024 * 1024,
769 resp_size=1024 * 1024,
770 use_generic_payload=
True,
772 categories=[SMOKETEST, SCALABLE])
775 'dotnet_generic_async_streaming_qps_unconstrained_insecure',
776 rpc_type=
'STREAMING',
777 client_type=
'ASYNC_CLIENT',
778 server_type=
'ASYNC_GENERIC_SERVER',
779 unconstrained_client=
'async',
780 use_generic_payload=
True,
782 categories=[SMOKETEST, SCALABLE])
785 rpc_type=
'STREAMING',
786 client_type=
'ASYNC_CLIENT',
787 server_type=
'ASYNC_SERVER')
791 client_type=
'ASYNC_CLIENT',
792 server_type=
'ASYNC_SERVER',
793 categories=[SMOKETEST, SCALABLE])
796 'dotnet_protobuf_sync_to_async_unary_ping_pong',
798 client_type=
'SYNC_CLIENT',
799 server_type=
'ASYNC_SERVER')
802 'dotnet_protobuf_async_unary_qps_unconstrained',
804 client_type=
'ASYNC_CLIENT',
805 server_type=
'ASYNC_SERVER',
806 unconstrained_client=
'async',
807 categories=[SMOKETEST, SCALABLE])
810 'dotnet_protobuf_async_streaming_qps_unconstrained',
811 rpc_type=
'STREAMING',
812 client_type=
'ASYNC_CLIENT',
813 server_type=
'ASYNC_SERVER',
814 unconstrained_client=
'async',
815 categories=[SCALABLE])
819 client_type=
'SYNC_CLIENT',
820 server_type=
'SYNC_SERVER',
821 server_language=
'c++',
822 async_server_threads=1,
823 categories=[SMOKETEST, SCALABLE])
826 'dotnet_to_cpp_protobuf_async_streaming_ping_pong',
827 rpc_type=
'STREAMING',
828 client_type=
'ASYNC_CLIENT',
829 server_type=
'ASYNC_SERVER',
830 server_language=
'c++',
831 async_server_threads=1)
834 'dotnet_to_cpp_protobuf_async_unary_qps_unconstrained',
836 client_type=
'ASYNC_CLIENT',
837 server_type=
'ASYNC_SERVER',
838 unconstrained_client=
'async',
839 server_language=
'c++',
840 categories=[SCALABLE])
843 'dotnet_to_cpp_protobuf_sync_to_async_unary_qps_unconstrained',
845 client_type=
'SYNC_CLIENT',
846 server_type=
'ASYNC_SERVER',
847 unconstrained_client=
'sync',
848 server_language=
'c++',
849 categories=[SCALABLE])
852 'cpp_to_dotnet_protobuf_async_unary_qps_unconstrained',
854 client_type=
'ASYNC_CLIENT',
855 server_type=
'ASYNC_SERVER',
856 unconstrained_client=
'async',
857 client_language=
'c++',
858 categories=[SCALABLE])
862 client_type=
'ASYNC_CLIENT',
863 server_type=
'ASYNC_SERVER',
864 req_size=1024 * 1024,
865 resp_size=1024 * 1024,
866 categories=[SMOKETEST, SCALABLE])
875 return [
'tools/run_tests/performance/run_worker_python.sh']
882 'python_protobuf_async_unary_5000rpcs_1KB_psm',
884 client_type=
'ASYNC_CLIENT',
885 server_type=
'ASYNC_SERVER',
892 async_server_threads=1,
896 rpc_type=
'STREAMING',
897 client_type=
'SYNC_CLIENT',
898 server_type=
'ASYNC_GENERIC_SERVER',
899 use_generic_payload=
True,
900 categories=[SMOKETEST, SCALABLE])
903 rpc_type=
'STREAMING',
904 client_type=
'SYNC_CLIENT',
905 server_type=
'ASYNC_SERVER')
909 client_type=
'ASYNC_CLIENT',
910 server_type=
'ASYNC_SERVER')
914 client_type=
'SYNC_CLIENT',
915 server_type=
'ASYNC_SERVER',
916 categories=[SMOKETEST, SCALABLE])
919 'python_protobuf_sync_unary_qps_unconstrained',
921 client_type=
'SYNC_CLIENT',
922 server_type=
'ASYNC_SERVER',
923 unconstrained_client=
'sync')
926 'python_protobuf_sync_streaming_qps_unconstrained',
927 rpc_type=
'STREAMING',
928 client_type=
'SYNC_CLIENT',
929 server_type=
'ASYNC_SERVER',
930 unconstrained_client=
'sync')
934 client_type=
'SYNC_CLIENT',
935 server_type=
'ASYNC_SERVER',
936 server_language=
'c++',
937 async_server_threads=0,
938 categories=[SMOKETEST, SCALABLE])
941 'python_to_cpp_protobuf_sync_streaming_ping_pong',
942 rpc_type=
'STREAMING',
943 client_type=
'SYNC_CLIENT',
944 server_type=
'ASYNC_SERVER',
945 server_language=
'c++',
946 async_server_threads=1)
950 client_type=
'SYNC_CLIENT',
951 server_type=
'ASYNC_SERVER',
952 req_size=1024 * 1024,
953 resp_size=1024 * 1024,
954 categories=[SMOKETEST, SCALABLE])
963 return [
'tools/run_tests/performance/run_worker_python_asyncio.sh']
970 'python_asyncio_protobuf_async_unary_5000rpcs_1KB_psm',
972 client_type=
'ASYNC_CLIENT',
973 server_type=
'ASYNC_SERVER',
980 async_server_threads=1,
983 for outstanding
in [64, 128, 256, 512]:
984 for channels
in [1, 4]:
986 'python_asyncio_protobuf_async_unary_ping_pong_%dx%d_max' %
992 client_type=
'ASYNC_CLIENT',
993 server_type=
'ASYNC_SERVER',
994 outstanding=outstanding * channels,
998 unconstrained_client=
'async',
999 categories=[SCALABLE])
1002 'python_asyncio_protobuf_async_unary_ping_pong_%d_1thread' %
1005 client_type=
'ASYNC_CLIENT',
1006 server_type=
'ASYNC_SERVER',
1007 outstanding=outstanding,
1011 unconstrained_client=
'async',
1012 categories=[SCALABLE])
1015 'python_asyncio_generic_async_streaming_ping_pong',
1016 rpc_type=
'STREAMING',
1017 client_type=
'ASYNC_CLIENT',
1018 server_type=
'ASYNC_GENERIC_SERVER',
1022 use_generic_payload=
True,
1023 categories=[SMOKETEST, SCALABLE])
1026 'python_asyncio_protobuf_async_streaming_ping_pong',
1027 rpc_type=
'STREAMING',
1028 client_type=
'ASYNC_CLIENT',
1029 server_type=
'ASYNC_SERVER',
1033 categories=[SMOKETEST, SCALABLE])
1036 'python_asyncio_protobuf_async_unary_ping_pong',
1038 client_type=
'ASYNC_CLIENT',
1039 server_type=
'ASYNC_SERVER',
1042 categories=[SMOKETEST, SCALABLE])
1045 'python_asyncio_protobuf_async_unary_ping_pong',
1047 client_type=
'ASYNC_CLIENT',
1048 server_type=
'ASYNC_SERVER',
1052 categories=[SMOKETEST, SCALABLE])
1055 'python_asyncio_protobuf_async_unary_qps_unconstrained',
1057 client_type=
'ASYNC_CLIENT',
1058 server_type=
'ASYNC_SERVER',
1060 unconstrained_client=
'async')
1063 'python_asyncio_protobuf_async_streaming_qps_unconstrained',
1064 rpc_type=
'STREAMING',
1065 client_type=
'ASYNC_CLIENT',
1066 server_type=
'ASYNC_SERVER',
1068 unconstrained_client=
'async')
1071 'python_asyncio_to_cpp_protobuf_async_unary_ping_pong_1thread',
1073 client_type=
'ASYNC_CLIENT',
1074 server_type=
'ASYNC_SERVER',
1075 server_language=
'c++',
1078 unconstrained_client=
'async',
1079 categories=[SMOKETEST, SCALABLE])
1082 'python_asyncio_to_cpp_protobuf_async_unary_ping_pong_max',
1084 client_type=
'ASYNC_CLIENT',
1085 server_type=
'ASYNC_SERVER',
1086 unconstrained_client=
'async',
1089 server_language=
'c++',
1090 categories=[SMOKETEST, SCALABLE])
1093 'python_asyncio_to_cpp_protobuf_sync_streaming_ping_pong_1thread',
1094 rpc_type=
'STREAMING',
1095 client_type=
'ASYNC_CLIENT',
1096 server_type=
'ASYNC_SERVER',
1100 unconstrained_client=
'async',
1101 server_language=
'c++')
1104 'python_asyncio_protobuf_async_unary_ping_pong_1MB',
1106 client_type=
'ASYNC_CLIENT',
1107 server_type=
'ASYNC_SERVER',
1108 req_size=1024 * 1024,
1109 resp_size=1024 * 1024,
1113 categories=[SMOKETEST, SCALABLE])
1116 return 'python_asyncio'
1122 return [
'tools/run_tests/performance/run_worker_ruby.sh']
1129 rpc_type=
'STREAMING',
1130 client_type=
'SYNC_CLIENT',
1131 server_type=
'SYNC_SERVER',
1132 categories=[SMOKETEST, SCALABLE])
1136 client_type=
'SYNC_CLIENT',
1137 server_type=
'SYNC_SERVER',
1138 categories=[SMOKETEST, SCALABLE])
1142 client_type=
'SYNC_CLIENT',
1143 server_type=
'SYNC_SERVER',
1144 unconstrained_client=
'sync')
1147 'ruby_protobuf_sync_streaming_qps_unconstrained',
1148 rpc_type=
'STREAMING',
1149 client_type=
'SYNC_CLIENT',
1150 server_type=
'SYNC_SERVER',
1151 unconstrained_client=
'sync')
1155 client_type=
'SYNC_CLIENT',
1156 server_type=
'SYNC_SERVER',
1157 server_language=
'c++',
1158 async_server_threads=1)
1161 'ruby_to_cpp_protobuf_sync_streaming_ping_pong',
1162 rpc_type=
'STREAMING',
1163 client_type=
'SYNC_CLIENT',
1164 server_type=
'SYNC_SERVER',
1165 server_language=
'c++',
1166 async_server_threads=1)
1170 client_type=
'SYNC_CLIENT',
1171 server_type=
'SYNC_SERVER',
1172 req_size=1024 * 1024,
1173 resp_size=1024 * 1024,
1174 categories=[SMOKETEST, SCALABLE])
1189 'tools/run_tests/performance/run_worker_php.sh',
1190 '--use_protobuf_c_extension'
1192 return [
'tools/run_tests/performance/run_worker_php.sh']
1200 php7_extension_mode =
'php7_protobuf_php_extension'
1202 php7_extension_mode =
'php7_protobuf_c_extension'
1205 '%s_to_cpp_protobuf_async_unary_5000rpcs_1KB_psm' %
1206 php7_extension_mode,
1208 client_type=
'ASYNC_CLIENT',
1209 server_type=
'ASYNC_SERVER',
1210 server_language=
'c++',
1217 async_server_threads=1,
1221 php7_extension_mode,
1223 client_type=
'SYNC_CLIENT',
1224 server_type=
'SYNC_SERVER',
1225 server_language=
'c++',
1226 async_server_threads=1)
1229 '%s_to_cpp_protobuf_sync_streaming_ping_pong' % php7_extension_mode,
1230 rpc_type=
'STREAMING',
1231 client_type=
'SYNC_CLIENT',
1232 server_type=
'SYNC_SERVER',
1233 server_language=
'c++',
1234 async_server_threads=1)
1239 '%s_to_cpp_protobuf_sync_unary_qps_unconstrained' %
1240 php7_extension_mode,
1242 client_type=
'SYNC_CLIENT',
1243 server_type=
'ASYNC_SERVER',
1244 server_language=
'c++',
1246 async_server_threads=1,
1247 unconstrained_client=
'sync')
1250 '%s_to_cpp_protobuf_sync_streaming_qps_unconstrained' %
1251 php7_extension_mode,
1252 rpc_type=
'STREAMING',
1253 client_type=
'SYNC_CLIENT',
1254 server_type=
'ASYNC_SERVER',
1255 server_language=
'c++',
1257 async_server_threads=1,
1258 unconstrained_client=
'sync')
1262 return 'php7_protobuf_c'
1269 return [
'tools/run_tests/performance/run_worker_java.sh']
1277 client_type=
'ASYNC_CLIENT',
1278 server_type=
'ASYNC_SERVER',
1285 async_server_threads=1,
1286 warmup_seconds=JAVA_WARMUP_SECONDS,
1289 for secure
in [
True,
False]:
1290 secstr =
'secure' if secure
else 'insecure'
1291 smoketest_categories = ([SMOKETEST]
if secure
else []) + [SCALABLE]
1294 'java_generic_async_streaming_ping_pong_%s' % secstr,
1295 rpc_type=
'STREAMING',
1296 client_type=
'ASYNC_CLIENT',
1297 server_type=
'ASYNC_GENERIC_SERVER',
1298 use_generic_payload=
True,
1299 async_server_threads=1,
1301 warmup_seconds=JAVA_WARMUP_SECONDS,
1302 categories=smoketest_categories)
1305 'java_protobuf_async_streaming_ping_pong_%s' % secstr,
1306 rpc_type=
'STREAMING',
1307 client_type=
'ASYNC_CLIENT',
1308 server_type=
'ASYNC_SERVER',
1309 async_server_threads=1,
1311 warmup_seconds=JAVA_WARMUP_SECONDS)
1316 client_type=
'ASYNC_CLIENT',
1317 server_type=
'ASYNC_SERVER',
1318 async_server_threads=1,
1320 warmup_seconds=JAVA_WARMUP_SECONDS,
1321 categories=smoketest_categories)
1326 client_type=
'SYNC_CLIENT',
1327 server_type=
'SYNC_SERVER',
1328 async_server_threads=1,
1330 warmup_seconds=JAVA_WARMUP_SECONDS)
1333 'java_protobuf_async_unary_qps_unconstrained_%s' % secstr,
1335 client_type=
'ASYNC_CLIENT',
1336 server_type=
'ASYNC_SERVER',
1337 unconstrained_client=
'async',
1339 warmup_seconds=JAVA_WARMUP_SECONDS,
1340 categories=smoketest_categories + [SCALABLE])
1343 'java_protobuf_async_streaming_qps_unconstrained_%s' % secstr,
1344 rpc_type=
'STREAMING',
1345 client_type=
'ASYNC_CLIENT',
1346 server_type=
'ASYNC_SERVER',
1347 unconstrained_client=
'async',
1349 warmup_seconds=JAVA_WARMUP_SECONDS,
1350 categories=[SCALABLE])
1353 'java_generic_async_streaming_qps_unconstrained_%s' % secstr,
1354 rpc_type=
'STREAMING',
1355 client_type=
'ASYNC_CLIENT',
1356 server_type=
'ASYNC_GENERIC_SERVER',
1357 unconstrained_client=
'async',
1358 use_generic_payload=
True,
1360 warmup_seconds=JAVA_WARMUP_SECONDS,
1361 categories=[SCALABLE])
1364 'java_generic_async_streaming_qps_one_server_core_%s' % secstr,
1365 rpc_type=
'STREAMING',
1366 client_type=
'ASYNC_CLIENT',
1367 server_type=
'ASYNC_GENERIC_SERVER',
1368 unconstrained_client=
'async-limited',
1369 use_generic_payload=
True,
1370 async_server_threads=1,
1372 warmup_seconds=JAVA_WARMUP_SECONDS)
1383 return [
'tools/run_tests/performance/run_worker_go.sh']
1391 client_type=
'ASYNC_CLIENT',
1392 server_type=
'ASYNC_SERVER',
1399 async_server_threads=1,
1402 for secure
in [
True,
False]:
1403 secstr =
'secure' if secure
else 'insecure'
1404 smoketest_categories = ([SMOKETEST]
if secure
else []) + [SCALABLE]
1410 rpc_type=
'STREAMING',
1411 client_type=
'SYNC_CLIENT',
1412 server_type=
'ASYNC_GENERIC_SERVER',
1413 use_generic_payload=
True,
1414 async_server_threads=1,
1416 categories=smoketest_categories)
1419 'go_protobuf_sync_streaming_ping_pong_%s' % secstr,
1420 rpc_type=
'STREAMING',
1421 client_type=
'SYNC_CLIENT',
1422 server_type=
'SYNC_SERVER',
1423 async_server_threads=1,
1429 client_type=
'SYNC_CLIENT',
1430 server_type=
'SYNC_SERVER',
1431 async_server_threads=1,
1433 categories=smoketest_categories)
1437 'go_protobuf_sync_unary_qps_unconstrained_%s' % secstr,
1439 client_type=
'SYNC_CLIENT',
1440 server_type=
'SYNC_SERVER',
1441 unconstrained_client=
'async',
1443 categories=smoketest_categories + [SCALABLE])
1447 'go_protobuf_sync_streaming_qps_unconstrained_%s' % secstr,
1448 rpc_type=
'STREAMING',
1449 client_type=
'SYNC_CLIENT',
1450 server_type=
'SYNC_SERVER',
1451 unconstrained_client=
'async',
1453 categories=[SCALABLE])
1459 'go_generic_sync_streaming_qps_unconstrained_%s' % secstr,
1460 rpc_type=
'STREAMING',
1461 client_type=
'SYNC_CLIENT',
1462 server_type=
'ASYNC_GENERIC_SERVER',
1463 unconstrained_client=
'async',
1464 use_generic_payload=
True,
1466 categories=[SCALABLE])
1481 fixture =
'native_js' if self.
node_purejs else 'native_native'
1483 'tools/run_tests/performance/run_worker_node.sh', fixture,
1484 '--benchmark_impl=grpc'
1493 node_implementation =
'node_purejs' if self.
node_purejs else 'node'
1496 '%s_to_node_protobuf_async_unary_5000rpcs_1KB_psm' %
1497 (node_implementation),
1499 client_type=
'ASYNC_CLIENT',
1500 server_type=
'ASYNC_SERVER',
1501 server_language=
'node',
1508 async_server_threads=1,
1511 for secure
in [
True,
False]:
1512 secstr =
'secure' if secure
else 'insecure'
1513 smoketest_categories = ([SMOKETEST]
if secure
else []) + [SCALABLE]
1516 '%s_to_node_generic_async_streaming_ping_pong_%s' %
1517 (node_implementation, secstr),
1518 rpc_type=
'STREAMING',
1519 client_type=
'ASYNC_CLIENT',
1520 server_type=
'ASYNC_GENERIC_SERVER',
1521 server_language=
'node',
1522 use_generic_payload=
True,
1523 async_server_threads=1,
1525 categories=smoketest_categories)
1528 '%s_to_node_protobuf_async_streaming_ping_pong_%s' %
1529 (node_implementation, secstr),
1530 rpc_type=
'STREAMING',
1531 client_type=
'ASYNC_CLIENT',
1532 server_type=
'ASYNC_SERVER',
1533 server_language=
'node',
1534 async_server_threads=1,
1538 '%s_to_node_protobuf_async_unary_ping_pong_%s' %
1539 (node_implementation, secstr),
1541 client_type=
'ASYNC_CLIENT',
1542 server_type=
'ASYNC_SERVER',
1543 server_language=
'node',
1544 async_server_threads=1,
1546 categories=smoketest_categories)
1549 '%s_to_node_protobuf_async_unary_qps_unconstrained_%s' %
1550 (node_implementation, secstr),
1552 client_type=
'ASYNC_CLIENT',
1553 server_type=
'ASYNC_SERVER',
1554 server_language=
'node',
1555 unconstrained_client=
'async',
1557 categories=smoketest_categories + [SCALABLE])
1560 '%s_to_node_protobuf_async_streaming_qps_unconstrained_%s' %
1561 (node_implementation, secstr),
1562 rpc_type=
'STREAMING',
1563 client_type=
'ASYNC_CLIENT',
1564 server_type=
'ASYNC_SERVER',
1565 server_language=
'node',
1566 unconstrained_client=
'async',
1568 categories=[SCALABLE])
1571 '%s_to_node_generic_async_streaming_qps_unconstrained_%s' %
1572 (node_implementation, secstr),
1573 rpc_type=
'STREAMING',
1574 client_type=
'ASYNC_CLIENT',
1575 server_type=
'ASYNC_GENERIC_SERVER',
1576 server_language=
'node',
1577 unconstrained_client=
'async',
1578 use_generic_payload=
True,
1580 categories=[SCALABLE])
1586 return 'node_purejs'