Skip to content

Commit

Permalink
mod
Browse files Browse the repository at this point in the history
  • Loading branch information
Monkey857 committed Sep 6, 2024
1 parent 747b78e commit 389b263
Showing 1 changed file with 56 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -421,19 +421,65 @@ GRUB_CMDLINE_LINUX="resume=/dev/mapper/ao_anolis-swap rd.lvm.lv=ao_anolis/root r

测试用例设计:

用例1:

| 事项 | 内容 |
| ---------------- | ------------------------------------------------------------ |
| 场景 | 在同一系统环境下,针对不同类型的eBPF Map(如HashMap、ArrayMap、LRUHashMap等)进行性能测试。测试内容包括增删改查(CRUD)操作的耗时情况。 |
| 测试目的 | 评估不同类型的eBPF Map在高频率的CRUD操作下的性能表现,特别是针对相同操作次数所需的时间差异。 |
| 负载压力产生方法 | 在ebpf程序中对不同类型的Map设置一个固定的操作次数并记录每次操作的开始和结束时间。确保每个Map类型在相同的条件下测试。 |
| 执行脚本 | map_difference.py |
| 执行方法 | 部署并加载eBPF程序;执行./run_ebpf_and_process.sh脚本;查看分析结果 |
| 与生产环境差异 | 测试环境为隔离的虚拟机,Map的操作次数可能高于生产环境的实际负载,以便突显性能差异。 |
| 指标要求 | 每种Map类型的CRUD操作次数必须相同;相同操作次数下,不同Map类型的耗时差异不应超过预期范围; |
| 测试结果 | 记录每种Map类型的总操作时间,并汇总到报告中,生成柱状图或折线图展示不同Map类型的性能差异。 |
| 测试结果分析 | 分析不同Map类型在CRUD操作下的性能差异,确定性能瓶颈。评估哪种Map类型在高并发场景下表现最优。 |
| 后续Action | 如果某种Map类型在测试中表现出显著劣势,建议在生产环境中慎用或优化其使用场景。 |
| 场景 | 在系统CPU高负载情况下(CPU使用率约为80%)并且CPU频率固定,针对不同类型的eBPF Map进行相同次数的增删改查操作,这里会多次变化操作次数来说明实验结果的正确性。查看每种类型的Map在CPU高负载的情况下对于不同操作次数的耗时情况。 |
| 测试目的 | 评估不同类型的eBPF Map在CPU高负载的情况下,进行相同次数的CRUD操作时的性能表现,特别是记录每种类型的Map在处理时间上的差异。 |
| 负载压力产生方法 | 使用stress-ng来对CPU进行加压,并且每次测试时,通过设置不同的操作次数来对ebpf程序进行CRUD的压力控制。 |
| 执行脚本 | map_difference_01.py |
| 执行方法 | 执行./run_ebpf_and_process.sh脚本;查看分析结果 |
| 与生产环境差异 | 测试环境为隔离的虚拟机,实际的CPU核心数要比生产环境少,并且在负载压力产生方面,也和生产环境有差异。 |
| 指标要求 | 每次测试之前,要控制好每种Map类型的CRUD操作次数必须相同;相同操作次数下,不同Map类型的耗时差异不应超过理论分析的预期范围; |
| 测试结果 | 记录每种Map类型的CRUD操作时间,并汇总到报告中,生成柱状图或折线图展示不同Map类型的性能差异。 |
| 测试结果分析 | 通过测试结果的内容,并结合python的数据分析能力,来分析出在高CPU负载的情况下,哪种Map类型更适合使用,并且验证理论分析的结果是否正确。 |
| 后续Action | 将详细的测试分析结果编写到文档中,并且给出一个不同Map类型的适用场景的有力指导。 |

用例2:

| 事项 | 内容 |
| ---------------- | ------------------------------------------------------------ |
| 场景 | 在系统内存高负载情况下(内存使用率约为75%)并且CPU频率固定,针对不同类型的eBPF Map进行相同次数的增删改查操作,这里会多次变化操作次数来说明实验结果的正确性。查看每种类型的Map在内存高负载的情况下对于不同操作次数的耗时情况。 |
| 测试目的 | 评估不同类型的eBPF Map在内存高负载的情况下,进行相同次数的CRUD操作时的性能表现,特别是记录每种类型的Map在处理时间上的差异。 |
| 负载压力产生方法 | 使用stress-ng来对内存进行加压,并且每次测试时,通过设置不同的操作次数来对ebpf程序进行CRUD的压力控制。 |
| 执行脚本 | map_difference_02.py |
| 执行方法 | 执行./run_ebpf_and_process.sh脚本;查看分析结果 |
| 与生产环境差异 | 测试环境为隔离的虚拟机,实际的内存总大小要比生产环境小,并且在负载压力产生方面,也和生产环境有差异。 |
| 指标要求 | 每次测试之前,要控制好每种Map类型的CRUD操作次数必须相同;相同操作次数下,不同Map类型的耗时差异不应超过理论分析的预期范围; |
| 测试结果 | 记录每种Map类型的CRUD操作时间,并汇总到报告中,生成柱状图或折线图展示不同Map类型的性能差异。 |
| 测试结果分析 | 通过测试结果的内容,并结合python的数据分析能力,来分析出在内存高负载的情况下,哪种Map类型更适合使用,并且验证理论分析的结果是否正确。 |
| 后续Action | 将详细的测试分析结果编写到文档中,并且给出一个不同Map类型的适用场景的有力指导。 |

用例3:

| 事项 | 内容 |
| ---------------- | ------------------------------------------------------------ |
| 场景 | 在系统开启CPU的P-states和C-states时,针对不同类型的eBPF Map进行相同次数的增删改查操作,这里会多次变化操作次数来说明实验结果的正确性。查看每种类型的Map在系统开启CPU的P-states和C-states的情况下对于不同操作次数的耗时情况。 |
| 测试目的 | 评估不同类型的eBPF Map在内存高负载的情况下,进行相同次数的CRUD操作时的性能表现,特别是记录每种类型的Map在处理时间上的差异。 |
| 负载压力产生方法 | 使用stress-ng来对系统进行加压,并且每次测试时,通过设置不同的操作次数来对ebpf程序进行CRUD的压力控制。 |
| 执行脚本 | map_difference_03.py |
| 执行方法 | 执行./run_ebpf_and_process.sh脚本;查看分析结果 |
| 与生产环境差异 | 测试环境为隔离的虚拟机,实际的CPU频率变化与生产环境有一定的差异,并且在负载压力产生方面,也和生产环境有差异。 |
| 指标要求 | 每次测试之前,要控制好每种Map类型的CRUD操作次数必须相同;相同操作次数下,不同Map类型的耗时差异不应超过理论分析的预期范围; |
| 测试结果 | 记录每种Map类型的CRUD操作时间,并汇总到报告中,生成柱状图或折线图展示不同Map类型的性能差异。 |
| 测试结果分析 | 通过测试结果的内容,并结合python的数据分析能力,来分析出在内存高负载的情况下,哪种Map类型更适合使用,并且验证理论分析的结果是否正确。 |
| 后续Action | 将详细的测试分析结果编写到文档中,并且给出一个不同Map类型的适用场景的有力指导。 |

用例4:

| 事项 | 内容 |
| ---------------- | ------------------------------------------------------------ |
| 场景 | 在系统关闭CPU的P-states和C-states时,针对不同类型的eBPF Map进行相同次数的增删改查操作,这里会多次变化操作次数来说明实验结果的正确性。查看每种类型的Map在系统关闭CPU的P-states和C-states的情况下对于不同操作次数的耗时情况。 |
| 测试目的 | 评估不同类型的eBPF Map在内存高负载的情况下,进行相同次数的CRUD操作时的性能表现,特别是记录每种类型的Map在处理时间上的差异。 |
| 负载压力产生方法 | 使用stress-ng来对系统进行加压,并且每次测试时,通过设置不同的操作次数来对ebpf程序进行CRUD的压力控制。 |
| 执行脚本 | map_difference_04.py |
| 执行方法 | 执行./run_ebpf_and_process.sh脚本,查看分析结果。 |
| 与生产环境差异 | 测试环境为隔离的虚拟机,实际的CPU频率变化与生产环境有一定的差异,并且在负载压力产生方面,也和生产环境有差异。 |
| 指标要求 | 每次测试之前,要控制好每种Map类型的CRUD操作次数必须相同;相同操作次数下,不同Map类型的耗时差异不应超过理论分析的预期范围; |
| 测试结果 | 记录每种Map类型的CRUD操作时间,并汇总到报告中,生成柱状图或折线图展示不同Map类型的性能差异。 |
| 测试结果分析 | 通过测试结果的内容,并结合python的数据分析能力,来分析出在关闭CPU的P-states和C-states的情况下,哪种Map类型更适合使用,并且验证理论分析的结果是否正确。 |
| 后续Action | 将详细的测试分析结果编写到文档中,并且给出一个不同Map类型的适用场景的有力指导。 |

#### 4.2对挂载点类型的测试方案:

Expand Down

0 comments on commit 389b263

Please sign in to comment.