This is an automated email from the ASF dual-hosted git repository.

membphis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix.git


The following commit(s) were added to refs/heads/master by this push:
     new 45f7dd6  feat: benchmark support specify upstream count (#3292)
45f7dd6 is described below

commit 45f7dd6c6dc7d75ca137a10707e6b28fa3516b7f
Author: 大可 <hnlq.s...@gmail.com>
AuthorDate: Fri Jan 15 10:14:23 2021 +0800

    feat: benchmark support specify upstream count (#3292)
---
 benchmark/run.sh | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/benchmark/run.sh b/benchmark/run.sh
index fa3fc3c..f3268f6 100755
--- a/benchmark/run.sh
+++ b/benchmark/run.sh
@@ -23,10 +23,15 @@ else
     worker_cnt=1
 fi
 
+if [ -n "$2" ]; then
+    upstream_cnt=$2
+else
+    upstream_cnt=1
+fi
+
 mkdir -p benchmark/server/logs
 mkdir -p benchmark/fake-apisix/logs
 
-sudo openresty -p $PWD/benchmark/server || exit 1
 
 make init
 
@@ -38,18 +43,33 @@ function onCtrlC () {
     sudo openresty -p $PWD/benchmark/server -s stop || exit 1
 }
 
+for up_cnt in $(seq 1 $upstream_cnt);
+do
+    port=$((1979+$up_cnt))
+    nginx_listen=$nginx_listen"listen $port;"
+    upstream_nodes=$upstream_nodes"\"127.0.0.1:$port\":1"
+
+    if [ $up_cnt -lt $upstream_cnt ]; then
+        upstream_nodes=$upstream_nodes","
+    fi
+done
+
 if [[ "$(uname)" == "Darwin" ]]; then
     sed  -i "" "s/worker_processes .*/worker_processes $worker_cnt;/g" 
conf/nginx.conf
+    sed  -i "" "s/listen .*;/$nginx_listen/g" benchmark/server/conf/nginx.conf
 else
     sed  -i "s/worker_processes .*/worker_processes $worker_cnt;/g" 
conf/nginx.conf
+    sed  -i "s/listen .*;/$nginx_listen/g" benchmark/server/conf/nginx.conf
 fi
 
+sudo openresty -p $PWD/benchmark/server || exit 1
+
 make run
 
 sleep 3
 
 #############################################
-echo -e "\n\napisix: $worker_cnt worker + 1 upstream + no plugin"
+echo -e "\n\napisix: $worker_cnt worker + $upstream_cnt upstream + no plugin"
 
 curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
 {
@@ -59,7 +79,7 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 
'X-API-KEY: edd1c9f034335f13
     "upstream": {
         "type": "roundrobin",
         "nodes": {
-            "127.0.0.1:1980": 1
+            '$upstream_nodes'
         }
     }
 }'
@@ -75,7 +95,7 @@ wrk -d 5 -c 16 http://127.0.0.1:9080/hello
 sleep 1
 
 #############################################
-echo -e "\n\napisix: $worker_cnt worker + 1 upstream + 2 plugins (limit-count 
+ prometheus)"
+echo -e "\n\napisix: $worker_cnt worker + $upstream_cnt upstream + 2 plugins 
(limit-count + prometheus)"
 
 curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
 {
@@ -92,7 +112,7 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 
'X-API-KEY: edd1c9f034335f13
     "upstream": {
         "type": "roundrobin",
         "nodes": {
-            "127.0.0.1:1980": 1
+            '$upstream_nodes'
         }
     }
 }'

Reply via email to