This is an automated email from the ASF dual-hosted git repository. zhanglei pushed a commit to branch SCB-1321 in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git
commit 1c3e389cace9b9c4750e1f8a5983818f1ab30441 Author: Lei Zhang <[email protected]> AuthorDate: Tue Jul 9 21:48:22 2019 +0800 SCB-1321 Add benchmark report --- alpha/alpha-fsm/Benchmark.md | 185 +++++++++++++++++++++++++++ alpha/alpha-fsm/README.md | 2 + alpha/alpha-fsm/assets/cmd-0.4.0-1w-100.png | Bin 0 -> 153094 bytes alpha/alpha-fsm/assets/cmd-0.4.0-1w-500.png | Bin 0 -> 154756 bytes alpha/alpha-fsm/assets/cmd-0.5.0-1w-100.png | Bin 0 -> 151211 bytes alpha/alpha-fsm/assets/cmd-0.5.0-1w-1000.png | Bin 0 -> 152949 bytes alpha/alpha-fsm/assets/cmd-0.5.0-1w-2000.png | Bin 0 -> 156713 bytes alpha/alpha-fsm/assets/cmd-0.5.0-1w-500.png | Bin 0 -> 151538 bytes alpha/alpha-fsm/assets/cmd-0.5.0-5w-1000.png | Bin 0 -> 150555 bytes alpha/alpha-fsm/assets/cmd-0.5.0-5w-2000.png | Bin 0 -> 157909 bytes alpha/alpha-fsm/assets/cmd-0.5.0-5w-3000.png | Bin 0 -> 162355 bytes alpha/alpha-fsm/assets/vm-0.4.0-1w-100.png | Bin 0 -> 82508 bytes alpha/alpha-fsm/assets/vm-0.4.0-1w-500.png | Bin 0 -> 91880 bytes alpha/alpha-fsm/assets/vm-0.5.0-1w-100.png | Bin 0 -> 89345 bytes alpha/alpha-fsm/assets/vm-0.5.0-1w-1000.png | Bin 0 -> 84643 bytes alpha/alpha-fsm/assets/vm-0.5.0-1w-2000.png | Bin 0 -> 84967 bytes alpha/alpha-fsm/assets/vm-0.5.0-1w-500.png | Bin 0 -> 78440 bytes alpha/alpha-fsm/assets/vm-0.5.0-5w-1000.png | Bin 0 -> 92723 bytes alpha/alpha-fsm/assets/vm-0.5.0-5w-2000.png | Bin 0 -> 86282 bytes alpha/alpha-fsm/assets/vm-0.5.0-5w-3000.png | Bin 0 -> 90599 bytes 20 files changed, 187 insertions(+) diff --git a/alpha/alpha-fsm/Benchmark.md b/alpha/alpha-fsm/Benchmark.md new file mode 100644 index 0000000..019fb77 --- /dev/null +++ b/alpha/alpha-fsm/Benchmark.md @@ -0,0 +1,185 @@ +# Benchmark for Alpha + +基准测试使用 alpha-benchmark 工具模拟发送事务,模拟器和Alpha分别部署在两个不同的服务器 + +## 配置 + +### 物理服务器配置 + +| 名称 | 描述 | +| -------- | ----------------------------------------------------------- | +| 服务器 | Dell PowerEdge R720xd | +| CPU | Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz | +| 核数 | 24 | +| 内存 | 128G | +| 硬盘 | 机械 | +| 网卡 | Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet * 4 | +| 管理程序 | VMware ESXi, 6.0.0, 3073146 | + +### 虚拟机 + +| 服务器 | CPU | 内存 | 磁盘 | 网络 | | +| ------ | ---- | ---- | ---- | -------- | ---- | +| VM | 4 | 16 | 200G | VMXNET 3 | | +| VM | 4 | 16 | 200G | VMXNET 3 | | + +### 网络带宽 + +> 服务器之间共享网络带宽(6.94 Gbits/sec) + +```shell +[ ID] Interval Transfer Bandwidth Retr Cwnd +[ 4] 0.00-1.00 sec 695 MBytes 5.83 Gbits/sec 136 711 KBytes +[ 4] 1.00-2.00 sec 776 MBytes 6.51 Gbits/sec 0 960 KBytes +[ 4] 2.00-3.00 sec 882 MBytes 7.41 Gbits/sec 0 960 KBytes +[ 4] 3.00-4.00 sec 1.04 GBytes 8.89 Gbits/sec 0 1.08 MBytes +[ 4] 4.00-5.00 sec 946 MBytes 7.93 Gbits/sec 0 1.08 MBytes +[ 4] 5.00-6.00 sec 736 MBytes 6.18 Gbits/sec 0 1.11 MBytes +[ 4] 6.00-7.00 sec 726 MBytes 6.09 Gbits/sec 0 1.16 MBytes +[ 4] 7.00-8.00 sec 829 MBytes 6.95 Gbits/sec 0 1.20 MBytes +[ 4] 8.00-9.00 sec 1009 MBytes 8.46 Gbits/sec 813 440 KBytes +[ 4] 9.00-10.00 sec 615 MBytes 5.16 Gbits/sec 0 641 KBytes +- - - - - - - - - - - - - - - - - - - - - - - - - +[ ID] Interval Transfer Bandwidth Retr +[ 4] 0.00-10.00 sec 8.08 GBytes 6.94 Gbits/sec 949 sender +[ 4] 0.00-10.00 sec 8.08 GBytes 6.94 Gbits/sec receiver +``` + +### 操作系统配置 + +* ulimit -n 65535 + +### Alpha配置 + +```bash +java -Xmx3g -Xms3g -Xss256k \ + -Dcom.sun.management.jmxremote \ + -Dcom.sun.management.jmxremote.port=9090 \ + -Dcom.sun.management.jmxremote.ssl=false \ + -Dcom.sun.management.jmxremote.authenticate=false \ + -jar ${PRONAME} \ + --spring.datasource.username=saga-user \ + --spring.datasource.password=saga-password \ + --spring.datasource.url="jdbc:postgresql://10.22.1.234:5432/saga?useSSL=false" \ + --spring.profile.active=prd \ + --alpha.feature.akka.enabled=true +``` + +## 测试报告 + +总结: + +* 0.5.0 Akka的性能比0.4.0版本提升一个数量级,吞吐率最高可达到每秒1351笔全局事务,每笔全局事务包含包含3个子事务,Alpha gPRC 接口吞吐量 1.8w/每秒 +* 0.5.0版本单节点Alpha最优并发量为 500~1000,平均耗<1s,吞吐率 1200+/秒, CPU利用率稳定工作在80% +* 本测试客户端和服务端分别部署在不同的服务器,模拟真实网络通讯 +* Alpha估算:Alpha部署数量=最大吞吐量/1200 + +| 节点数 | 并发数 | 总耗时(s) | 平均耗时(ms) | 吞吐率 | 事务量 | +| ------ | ------ | --------- | ---- | ------ | ---- | +| 0.4.0 | 100 | 102 | 1026 | 98/sec | 10000 | +| 0.4.0 | 500 | 99 | 4970 | 101/sec | 10000 | +| 0.5.0 | 100 | 14 | 142 | 714/sec | 10000 | +| 0.5.0 | 500 | 8 | 418 | 1250/sec | 10000 | +| 0.5.0 | 1000 | 8 | 858 | 1250/sec | 10000 | +| 0.5.0 | 2000 | 14 | 2888 | 714/sec | 10000 | +| 0.5.0 | 1000 | 39 | 786 | 1282/sec | 50000 | +| 0.5.0 | 2000 | 37 | 1519 | 1351/sec | 50000 | +| 0.5.0 | 3000 | 43 | 2687 | 1116/sec | 50000 | + +## 测试详细说明 + +### Alpha 0.5.0 without Akka + +#### 测试1 + +- 全局事务量 10000 + +- 并发数 100 + +  + +  + +#### 测试2 + +- 全局事务量 10000 + +- 并发数 500 + +  + +  + +### Alpha 0.5.0 with Akka + +测试工具模拟发送全局事务,通过多线程模拟并发(一个全局事务包含8条消息) + +#### 测试1 + +* 全局事务量 10000 + +* 并发数 100 + +  + +  + +#### 测试2 + +* 全局事务量 10000 + +* 并发数 500 + +  + +  + +#### 测试3 + +- 全局事务量 10000 + +- 并发数 1000 + +  + +  + +#### 测试4 + +- 全局事务量 10000 + +- 并发数 2000 + +  + +  + +#### 测试5 + +- 全局事务量 50000 + +- 并发数 1000 + +  + +  + +#### 测试6 + +- 全局事务量 50000 + +- 并发数 2000 + +  + +  + +#### 测试7 + +- 全局事务量 50000 + +- 并发数 3000 + +  + +  \ No newline at end of file diff --git a/alpha/alpha-fsm/README.md b/alpha/alpha-fsm/README.md index 416e2ee..b5ebffc 100644 --- a/alpha/alpha-fsm/README.md +++ b/alpha/alpha-fsm/README.md @@ -69,4 +69,6 @@ alpha.feature.akka.enabled=true ### Tools - [ ] Alpha Benchmark tools +## Benchmark +[benchmark](Benchmark.md) \ No newline at end of file diff --git a/alpha/alpha-fsm/assets/cmd-0.4.0-1w-100.png b/alpha/alpha-fsm/assets/cmd-0.4.0-1w-100.png new file mode 100644 index 0000000..f3384c2 Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.4.0-1w-100.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.4.0-1w-500.png b/alpha/alpha-fsm/assets/cmd-0.4.0-1w-500.png new file mode 100644 index 0000000..9713e1d Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.4.0-1w-500.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.5.0-1w-100.png b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-100.png new file mode 100644 index 0000000..1ff71a0 Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-100.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.5.0-1w-1000.png b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-1000.png new file mode 100644 index 0000000..403b8c4 Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-1000.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.5.0-1w-2000.png b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-2000.png new file mode 100644 index 0000000..44e9210 Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-2000.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.5.0-1w-500.png b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-500.png new file mode 100644 index 0000000..bad6ee8 Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.5.0-1w-500.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.5.0-5w-1000.png b/alpha/alpha-fsm/assets/cmd-0.5.0-5w-1000.png new file mode 100644 index 0000000..67e3ef8 Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.5.0-5w-1000.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.5.0-5w-2000.png b/alpha/alpha-fsm/assets/cmd-0.5.0-5w-2000.png new file mode 100644 index 0000000..af6d050 Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.5.0-5w-2000.png differ diff --git a/alpha/alpha-fsm/assets/cmd-0.5.0-5w-3000.png b/alpha/alpha-fsm/assets/cmd-0.5.0-5w-3000.png new file mode 100644 index 0000000..b122c5e Binary files /dev/null and b/alpha/alpha-fsm/assets/cmd-0.5.0-5w-3000.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.4.0-1w-100.png b/alpha/alpha-fsm/assets/vm-0.4.0-1w-100.png new file mode 100644 index 0000000..5488d84 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.4.0-1w-100.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.4.0-1w-500.png b/alpha/alpha-fsm/assets/vm-0.4.0-1w-500.png new file mode 100644 index 0000000..46c9520 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.4.0-1w-500.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.5.0-1w-100.png b/alpha/alpha-fsm/assets/vm-0.5.0-1w-100.png new file mode 100644 index 0000000..86b5957 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.5.0-1w-100.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.5.0-1w-1000.png b/alpha/alpha-fsm/assets/vm-0.5.0-1w-1000.png new file mode 100644 index 0000000..d8d0c18 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.5.0-1w-1000.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.5.0-1w-2000.png b/alpha/alpha-fsm/assets/vm-0.5.0-1w-2000.png new file mode 100644 index 0000000..3a301e3 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.5.0-1w-2000.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.5.0-1w-500.png b/alpha/alpha-fsm/assets/vm-0.5.0-1w-500.png new file mode 100644 index 0000000..d144a74 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.5.0-1w-500.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.5.0-5w-1000.png b/alpha/alpha-fsm/assets/vm-0.5.0-5w-1000.png new file mode 100644 index 0000000..5e9afb9 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.5.0-5w-1000.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.5.0-5w-2000.png b/alpha/alpha-fsm/assets/vm-0.5.0-5w-2000.png new file mode 100644 index 0000000..133ea92 Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.5.0-5w-2000.png differ diff --git a/alpha/alpha-fsm/assets/vm-0.5.0-5w-3000.png b/alpha/alpha-fsm/assets/vm-0.5.0-5w-3000.png new file mode 100644 index 0000000..9aa081c Binary files /dev/null and b/alpha/alpha-fsm/assets/vm-0.5.0-5w-3000.png differ
