aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/run_tests/performance
diff options
context:
space:
mode:
Diffstat (limited to 'tools/run_tests/performance')
-rwxr-xr-xtools/run_tests/performance/run_worker_php.sh11
-rw-r--r--tools/run_tests/performance/scenario_config.py20
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(),