diff --git a/Performance.md b/Performance.md new file mode 100644 index 0000000..7ec1b1b --- /dev/null +++ b/Performance.md @@ -0,0 +1,135 @@ +# 测试环境 + +| 类型 | 配置 | +| --- | --- | +| MySQL A | Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz (24core 96G) | +| MySQL B | Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz (24core 96G) 日常业务库 | +| Canal Server | Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz (24core 96G) | +| Canal Client | Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz (24core 96G) | + + +# 测试方式 + +为了更加精准的描述canal的性能,会从整个流程上进行优化和分析. 具体优化思路参考:[https://github.com/alibaba/canal/issues/726](https://github.com/alibaba/canal/issues/726) + +1. 整个canal流程处理binlog,分为这么5步操作(4+1),整个优化和评测对这5步分别进行. + + + + +2. 构造了两个测试场景,批量Insert/Update/Delete 和 普通业务DB(单条操作为主) + +# 测试数据 + +
|
+ 序号
+ |
+
+ 阶段
+ |
+
+ 批量操作Insert/Update/Delete (导入业务)
+ |
+
+ 单条操作 (普通业务)
+ |
+
|
+ 1
+ |
+
+ Binlog接收
+ |
+
+ 200w TPS (网络 117MB/s)
+ |
+
+ 71w TPS (网络 112MB/s)
+ |
+
|
+ 2
+ |
+
+ Binlog Event解析
+ |
+
+ 200w TPS (网络 117MB/s)
+ |
+
+ 70w TPS (网络 110MB/s)
+ |
+
|
+ 3
+ |
+
+ Insert/Update/Delete深度解析
+ |
+
+ 200w TPS (网络 117MB/s)
+ |
+
+ 65w TPS (网络 105MB/s)
+ |
+
|
+ 4
+ |
+
+ 生成CanalEntry (存储到memory store)
+ |
+
+ 130w TPS (网络 75MB/s)
+ |
+
+ 50w TPS (网络 90MB/s)
+ |
+
|
+ 5
+ |
+
+ client接收
+ |
+
+ 20w TPS 1.canal server机器网络 11MB/s
+ 2.canal client机器网络 75MB/s
+
+ binlog膨胀率为 1:6.8
+ |
+
+ 10w TPS 1.canal server网络 22MB/s
+ 2.canal client网络 42MB/s
+
+ binlog膨胀率为 1:1.9
+ |
+