\344\274\230\345\214\226\345\220\257\345\212\250\346\227\266\351\224\201\350\241\250\351\227\256\351\242\230.md
... ...
@@ -0,0 +1,92 @@
1
+# 提测文档
2
+
3
+## 名称
4
+IIDP平台优化
5
+
6
+## 版本号
7
+已合并至test分支,具体版本号待定
8
+
9
+## 提测日期
10
+2024年8月26日
11
+
12
+## 提测内容概述
13
+本次提测主要包含以下三项优化内容:
14
+1. 解决IIDP平台在Setup和Install Apps过程中由于多个容器并发执行修改表结构时导致的锁表问题。
15
+2. 去掉已有的大锁,引入Redisson分布式Redlock机制,并仅锁定修改表结构的一段逻辑,以降低锁的颗粒度。
16
+3. 优化平台启动时间。
17
+
18
+## 详细优化内容
19
+
20
+### 1. 优化IIDP平台Setup和Install Apps时的锁表问题
21
+#### 问题描述
22
+在多个容器并发执行修改数据库表结构的操作时,容易导致数据库表被锁住,影响其他操作的正常进行,进而系统无法启动。
23
+
24
+#### 优化方案
25
+- 引入Redisson分布式Redlock机制,确保在多个容器同时操作数据库表结构时,不会出现锁表问题。
26
+- 通过分布式锁管理,避免多个容器在同一时间修改表结构。
27
+
28
+#### 测试方案
29
+- 模拟多个容器并发执行Setup和Install Apps操作,观察是否存在锁表问题。
30
+- 测试在高并发场景下,整个集群是否可以正常启动。
31
+
32
+### 2. 去掉已有的大锁,引入Redisson分布式Redlock
33
+#### 问题描述
34
+现有系统使用大锁机制,导致在一开始启动时,整个操作被锁定,影响其他pod操作的执行效率。
35
+
36
+#### 优化方案
37
+- 去掉原有的大锁机制。
38
+- 引入Redisson分布式Redlock,仅锁定修改表结构的一段逻辑,细化锁的颗粒度。
39
+- 确保在修改表结构时,只锁定必要的操作部分,不影响其他数据库操作,也不影响其他操作,比如启动事件等。
40
+
41
+#### 测试方案
42
+- 测试在修改数据库表结构的过程中,其他数据库操作是否受到影响。
43
+- 验证Redlock锁定逻辑的准确性和有效性,确保在并发修改表结构时,锁定范围合理且有效。
44
+
45
+### 3. 优化启动时间
46
+#### 问题描述
47
+平台启动时间较长,影响用户体验和系统可用性。这是一个涉及到多个方面的问题,这里只是在大锁和修改表结构方面进行了相关的优化。
48
+
49
+#### 优化方案
50
+- 对启动流程进行分析和优化,减少不必要的加锁操作。
51
+
52
+#### 测试方案
53
+- 测试优化前后的启动时间,比较启动时间的变化。
54
+- 确保优化后系统功能正常,启动流程无异常。
55
+
56
+## 测试环境
57
+- 分布式环境
58
+
59
+## 测试用例
60
+
61
+### 用例1:并发执行Setup操作
62
+- **前提条件**:部署多个容器实例。
63
+- **操作步骤**:
64
+ 1. 启动多个容器实例,分别执行Setup操作。
65
+ 2. 观察数据库表结构的变化情况。
66
+- **预期结果**:多个容器实例可以并发执行Setup操作,数据库表结构无锁表问题,操作响应时间符合预期。
67
+
68
+### 用例2:并发执行Install Apps操作
69
+- **前提条件**:部署多个容器实例。
70
+- **操作步骤**:
71
+ 1. 启动多个容器实例,分别执行Install Apps操作。
72
+ 2. 观察数据库表结构的变化情况。
73
+- **预期结果**:多个容器实例可以并发执行Install Apps操作,数据库表结构无锁表问题,操作响应时间符合预期。
74
+
75
+### 用例3:修改表结构时的锁定范围
76
+- **前提条件**:部署多个容器实例。
77
+- **操作步骤**:
78
+ 1. 启动多个容器实例,同时执行修改表结构操作。
79
+ 2. 观察其他数据库操作是否受到影响。
80
+- **预期结果**:修改表结构时,仅锁定必要的操作部分,其他数据库操作不受影响。
81
+
82
+### 用例4:平台启动时间优化
83
+- **前提条件**:无。
84
+- **操作步骤**:
85
+ 1. 启动平台,记录启动时间。
86
+ 2. 比较优化前后的启动时间。
87
+- **预期结果**:优化后平台启动时间明显缩短,系统功能正常。
88
+
89
+## 备注
90
+- 请测试人员在测试过程中,详细记录每个测试用例的执行情况和结果。
91
+- 如发现任何问题或异常,请及时反馈给开发团队。
92
+