diff options
Diffstat (limited to 'tools/run_tests/performance')
-rwxr-xr-x | tools/run_tests/performance/run_worker_php.sh | 11 | ||||
-rw-r--r-- | tools/run_tests/performance/scenario_config.py | 20 |
2 files changed, 22 insertions, 9 deletions
diff --git a/tools/run_tests/performance/run_worker_php.sh b/tools/run_tests/performance/run_worker_php.sh index 5d0c4fa4fd..e524d5286d 100755 --- a/tools/run_tests/performance/run_worker_php.sh +++ b/tools/run_tests/performance/run_worker_php.sh @@ -16,13 +16,18 @@ source ~/.rvm/scripts/rvm set -ex -repo=$(dirname $0)/../../.. - +cd $(dirname $0)/../../.. +repo=$(pwd) # First set up all dependences needed for PHP QPS test cd $repo cd src/php/tests/qps composer install +# Install protobuf C-extension for php +cd vendor/google/protobuf/php/ext/google/protobuf +phpize +./configure +make # The proxy worker for PHP is implemented in Ruby -cd ../../../.. +cd $repo ruby src/ruby/qps/proxy-worker.rb $@ diff --git a/tools/run_tests/performance/scenario_config.py b/tools/run_tests/performance/scenario_config.py index 5efc9f5648..5019358ab3 100644 --- a/tools/run_tests/performance/scenario_config.py +++ b/tools/run_tests/performance/scenario_config.py @@ -802,25 +802,32 @@ class RubyLanguage: class PhpLanguage: - def __init__(self): + def __init__(self, use_protobuf_c_extension=False): pass + self.use_protobuf_c_extension=use_protobuf_c_extension self.safename = str(self) def worker_cmdline(self): + if self.use_protobuf_c_extension: + return ['tools/run_tests/performance/run_worker_php.sh -c'] return ['tools/run_tests/performance/run_worker_php.sh'] def worker_port_offset(self): return 800 def scenarios(self): + php_extension_mode='php_protobuf_php_extension' + if self.use_protobuf_c_extension: + php_extension_mode='php_protobuf_c_extension' + yield _ping_pong_scenario( - 'php_to_cpp_protobuf_sync_unary_ping_pong', rpc_type='UNARY', - client_type='SYNC_CLIENT', server_type='SYNC_SERVER', + '%s_to_cpp_protobuf_sync_unary_ping_pong' % php_extension_mode, + rpc_type='UNARY', client_type='SYNC_CLIENT', server_type='SYNC_SERVER', server_language='c++', async_server_threads=1) yield _ping_pong_scenario( - 'php_to_cpp_protobuf_sync_streaming_ping_pong', rpc_type='STREAMING', - client_type='SYNC_CLIENT', server_type='SYNC_SERVER', + '%s_to_cpp_protobuf_sync_streaming_ping_pong' % php_extension_mode, + rpc_type='STREAMING', client_type='SYNC_CLIENT', server_type='SYNC_SERVER', server_language='c++', async_server_threads=1) def __str__(self): @@ -1024,7 +1031,8 @@ LANGUAGES = { 'node' : NodeLanguage(), 'node_express': NodeExpressLanguage(), 'ruby' : RubyLanguage(), - 'php' : PhpLanguage(), + 'php_protobuf_php' : PhpLanguage(), + 'php_protobuf_c' : PhpLanguage(use_protobuf_c_extension=True), 'java' : JavaLanguage(), 'python' : PythonLanguage(), 'go' : GoLanguage(), |