This is an automated email from the ASF dual-hosted git repository.
tianxiaoliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
The following commit(s) were added to refs/heads/master by this push:
new 6b23a7bc revise benchmark report (#1321)
6b23a7bc is described below
commit 6b23a7bc2112e38ce92aabe107dc2fa394a2a172
Author: Shawn <[email protected]>
AuthorDate: Wed Aug 3 11:10:28 2022 +0800
revise benchmark report (#1321)
---
Dockerfile.build | 2 --
benchmark/READM.md | 38 ++++++++++++++++++---------
benchmark/find/find_1000_intance.js | 6 +++++
benchmark/find/find_100_intance.js | 6 +++++
benchmark/find/find_one_intance.js | 6 +++++
benchmark/register/hb_same_service.js | 22 +++++-----------
benchmark/register/register_random_service.js | 5 ++++
benchmark/register/register_same_service.js | 6 +++++
scripts/build/tools.sh | 1 -
scripts/ut.sh | 1 -
10 files changed, 62 insertions(+), 31 deletions(-)
diff --git a/Dockerfile.build b/Dockerfile.build
index 56aa582a..44e25632 100644
--- a/Dockerfile.build
+++ b/Dockerfile.build
@@ -17,8 +17,6 @@ FROM golang:1.16
WORKDIR /go/src/github.com/apache/servicecomb-service-center
-ENV GOPROXY https://goproxy.cn
-
COPY . .
RUN bash -x scripts/build/local.sh linux {{RELEASE}} amd64 {{BUILD}}
diff --git a/benchmark/READM.md b/benchmark/READM.md
index a970d01e..f145b024 100644
--- a/benchmark/READM.md
+++ b/benchmark/READM.md
@@ -1,22 +1,36 @@
# Benchmark
Use [k6](https://k6.io/) to call service center API
+## How to use scripts
+Install k6
+```shell
+k6 run --vus 10 --duration 30s register/register_random_service.js
+```
## service center and etcd deployed in local host
+Resource Consumption:
+- 2 cpu cores
+- 8 GB memory
+
+k6, service center, etcd all in one VM
#### virtual user 10
| scene | TPS | Latency | sc mem | etcd mem |
|---|---|---|---|---|
-| register growing instance | 348.244462/s | p(90)=76.64ms p(95)=84.73ms |
95 | 256 |
-| register same instance | 1937.723719/s | p(90)=5.04ms p(95)=22.23ms | |
|
-| find one instance | 1374.776952/s | p(90)=13.93ms p(95)=43.8ms | 76m |
232 |
-| find 100 instance | 1838.609097/s | p(90)=5.49ms p(95)=21.32ms | 72 |
196 |
-| find 1000 instance | 267.533417/s | p(90)=75.23ms p(95)=90.71ms | 106 |
234 |
-| heartbeat one instance | 3430.479538/s | p(90)=1.75ms p(95)=4.28ms |
75m | 195m |
+| register growing instance | 699/s | p(90)=24.02ms p(95)=32.26ms | 83 |
283 |
+| register same instance | 5069/s | p(90)=3.72ms p(95)=5.62ms | 70 | 123 |
+| heartbeat one instance | 7068/s | p(90)=2.66ms p(95)=4.28ms | 52m |
145m |
+| find one instance | 7577/s | p(90)=2.42ms p(95)=3.9ms | 51m | 144 |
+| find 100 instance | 3242/s | p(90)=6.7ms p(95)=10.01ms | 72 | 196 |
+| find 1000 instance | 544/s | p(90)=75.23ms p(95)=90.71ms | 106 | 234 |
+
## service center with embedded etcd in local host
#### virtual user 10
| scene | TPS | Latency | sc mem | etcd mem |
|---|---|---|---|---|
-| register growing instance | 478.132249/s | p(90)=63.74ms p(95)=74.8ms |
206m | |
-| register same instance |2773.890508/s | p(90)=3.03ms p(95)=7.62ms |
156m | |
-| find one instance | 4182.78487/s | p(90)=1.76ms p(95)=3.7ms | 175m | |
-| find 100 instance | 1531.041088/s | p(90)=8.62ms p(95)=33.72ms | 171m
| |
-| find 1000 instance | 253.041503/s | p(90)=81.54ms p(95)=97.55ms | 240m |
|
-| heartbeat one instance | 3232.36232/s | p(90)=2.25ms p(95)=5.34ms | 156m
| |
\ No newline at end of file
+| register growing instance | 561/s | p(90)=19.11ms p(95)=26.7ms | 330m |
|
+| register same instance |5042/s | p(90)=3.69ms p(95)=5.69ms | 156m | |
+| heartbeat one instance | 6513/s | p(90)=2.94ms p(95)=4.73ms | 156m | |
+| find one instance | 6580/s | p(90)=2.81ms p(95)=4.61ms | 175m | |
+| find 100 instance | 2843/s | p(90)=7.82ms p(95)=11.62ms | 200m | |
+| find 1000 instance | 546/s | p(90)=28.69ms p(95)=36.78ms | 200m | |
+
+
+
diff --git a/benchmark/find/find_1000_intance.js
b/benchmark/find/find_1000_intance.js
index 1a3e3d9d..3313fb2a 100644
--- a/benchmark/find/find_1000_intance.js
+++ b/benchmark/find/find_1000_intance.js
@@ -53,4 +53,10 @@ export function setup() {
export default function () {
const url =
'http://127.0.0.1:30100/v4/default/registry/instances?appId=default&serviceName=test3';
http.get(url);
+}
+
+export function teardown(data) {
+ const url =
'http://127.0.0.1:30100/v4/default/registry/microservices/test3?force=1';
+
+ http.del(url);
}
\ No newline at end of file
diff --git a/benchmark/find/find_100_intance.js
b/benchmark/find/find_100_intance.js
index 6d07e559..d21b5327 100644
--- a/benchmark/find/find_100_intance.js
+++ b/benchmark/find/find_100_intance.js
@@ -53,4 +53,10 @@ export function setup() {
export default function () {
const url =
'http://127.0.0.1:30100/v4/default/registry/instances?appId=default&serviceName=test3';
http.get(url);
+}
+
+export function teardown(data) {
+ const url =
'http://127.0.0.1:30100/v4/default/registry/microservices/test3?force=1';
+
+ http.del(url);
}
\ No newline at end of file
diff --git a/benchmark/find/find_one_intance.js
b/benchmark/find/find_one_intance.js
index 917c07d0..97db8ef2 100644
--- a/benchmark/find/find_one_intance.js
+++ b/benchmark/find/find_one_intance.js
@@ -49,4 +49,10 @@ export function setup() {
export default function () {
const url =
'http://127.0.0.1:30100/v4/default/registry/instances?appId=default&serviceName=test3';
http.get(url);
+}
+
+export function teardown(data) {
+ const url =
'http://127.0.0.1:30100/v4/default/registry/microservices/test3?force=1';
+
+ http.del(url);
}
\ No newline at end of file
diff --git a/benchmark/register/hb_same_service.js
b/benchmark/register/hb_same_service.js
index d22c1ea1..72f33a09 100644
--- a/benchmark/register/hb_same_service.js
+++ b/benchmark/register/hb_same_service.js
@@ -47,21 +47,13 @@ export function setup() {
http.post(url2, payload2, params2);
}
export default function () {
- const url = 'http://127.0.0.1:30100/v4/default/registry/heartbeats';
- const payload = JSON.stringify({
- Instances: [
- {
- serviceId: "test3",
- instanceId: "1"
- }
- ]
- });
+ const url =
'http://127.0.0.1:30100/v4/default/registry/microservices/test3/instances/1/heartbeat';
- const params = {
- headers: {
- 'Content-Type': 'application/json',
- },
- };
+ http.put(url);
+}
- http.post(url, payload, params);
+export function teardown(data) {
+ const url =
'http://127.0.0.1:30100/v4/default/registry/microservices/test3?force=1';
+
+ http.del(url);
}
\ No newline at end of file
diff --git a/benchmark/register/register_random_service.js
b/benchmark/register/register_random_service.js
index ae7091fe..aad59c9c 100644
--- a/benchmark/register/register_random_service.js
+++ b/benchmark/register/register_random_service.js
@@ -45,4 +45,9 @@ export default function () {
};
http.post(url, payload, params);
+}
+export function teardown(data) {
+ const url =
'http://127.0.0.1:30100/v4/default/registry/microservices/test3?force=1';
+
+ http.del(url);
}
\ No newline at end of file
diff --git a/benchmark/register/register_same_service.js
b/benchmark/register/register_same_service.js
index 6cf9bcd4..b35aabc3 100644
--- a/benchmark/register/register_same_service.js
+++ b/benchmark/register/register_same_service.js
@@ -46,4 +46,10 @@ export default function () {
};
http.post(url, payload, params);
+}
+
+export function teardown(data) {
+ const url =
'http://127.0.0.1:30100/v4/default/registry/microservices/test3?force=1';
+
+ http.del(url);
}
\ No newline at end of file
diff --git a/scripts/build/tools.sh b/scripts/build/tools.sh
index ad2ec0ea..8ee7b06e 100644
--- a/scripts/build/tools.sh
+++ b/scripts/build/tools.sh
@@ -20,7 +20,6 @@
set -e
# GO flags
-export GOPROXY=${GOPROXY:-"https://goproxy.cn"}
export GOOS=${GOOS:-"linux"}
export GOARCH=${GOARCH:-"amd64"}
export CGO_ENABLED=${CGO_ENABLED:-0} # prevent to compile cgo file
diff --git a/scripts/ut.sh b/scripts/ut.sh
index ad7c7561..ce1f23f1 100755
--- a/scripts/ut.sh
+++ b/scripts/ut.sh
@@ -18,7 +18,6 @@
set -e
CURRENT_PATH=$(cd $(dirname "$0");pwd)
ROOT_PATH=$(dirname "$CURRENT_PATH")
-export GOPROXY=https://goproxy.cn,direct
export COVERAGE_PATH=$(pwd)
skip_dir=${1:-'vendor'}