项目简介
本项目用于内核离线自动化压力测试,借助avocado框架与配套的测试套件,对内核调度、内存、IO等子系统开展压测,提供多种测试脚本,能通过自动化测试工具评估系统性能与稳定性。
项目的主要特性和功能
- 基于avocado框架开展自动化测试,支持输出html、json、tap、xml等多样式测试报告。
- 涵盖文件系统、磁盘I/O、网络、内存、调度等多种测试套件。
- 具备自动化测试能力,测试运行无需人工干预。
- 可通过测试脚本评估系统的I/O吞吐量、内存使用情况、调度性能等性能表现。
- 能进行系统稳定性测试,检测内存泄漏、系统崩溃等情况。
安装使用步骤
环境配置
- avocado框架安装:本项目使用93.0版本的avocado框架,python版本需为3.6。执行以下命令:
bash chmod +x tlinux_autotest_offline/test_env/avocado/93/avocado_install.sh ./tlinux_autotest_offline/test_env/avocado/93/avocado_install.sh
- docker服务安装与启动:
- 安装docker软件包(不同TencentOS Server版本对应不同安装命令):
bash yum install tlinux-release-docker-ce && yum install docker-ce yum install tencentos-release-docker-ce && yum install docker-ce
- 运行docker服务:
bash systemctl start docker
- 确认docker服务已启动且无报错:
bash docker -v docker ps
- 安装docker软件包(不同TencentOS Server版本对应不同安装命令):
- 数据盘准备:机器需要有数据盘vdb、vdc,系统盘vda建议50G以上,数据盘建议各40G以上,io读写磁盘测试可能会破坏该盘上的数据。
- 文件系统支持:内核版本需要支持挂载ext4、xfs文件系统。
运行测试
- 所有测试:使用
runall.sh
,可通过-t
参数指定stress_test
中所有测试的运行时长,若不指定则使用每个测试各自的默认测试时长,此参数不影响general_test
中的测试。bash cd tlinux_autotest_offline chmod +x runall.sh ./runall.sh -t 60
- 单个测试:时长在脚本中固定写死,一般为
test_time
。- general_test:
bash avocado run path/xxx.sh
- stress_test:
bash ./path/xxx.sh -param1 xx -param2 xx
- general_test:
查看测试结果
每个测试下可能会有一个以result.txt
或者result.log
结尾的文件,summary会输出测试结果PASS、FAIL、SKIP。
使用测试报告
若需要更详细的log或测试报告,可使用avocado框架运行测试以输出多样式测试报告。
注意事项
- io压测需下载镜像文件
tlinux-64bit-v2.4.20200929.tar
放在路径testcases/stress_test/io_integration_test/io_integration_test.sh.data/
下,下载链接为:https://share.weiyun.com/vQloHzrt ,密码:3r7wuc。 - net网络压测可使用net文件夹下提供的
sshpass-1.06-2.tl2.x86_64.rpm
离线安装sshpass,也可在配置好yum源后在线安装。使用时需修改测试用例,给出通信双方机器。 - 要重复使用测试工具进行测试,请重启机器再进行测试,并确保/dev/vdb和/dev/vdc盘未挂载,且为正常可挂载状态。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】