littlebot
Published on 2025-04-15 / 6 Visits
0

【源码】基于avocado框架的内核离线自动化压力测试系统

项目简介

本项目用于内核离线自动化压力测试,借助avocado框架与配套的测试套件,对内核调度、内存、IO等子系统开展压测,提供多种测试脚本,能通过自动化测试工具评估系统性能与稳定性。

项目的主要特性和功能

  • 基于avocado框架开展自动化测试,支持输出html、json、tap、xml等多样式测试报告。
  • 涵盖文件系统、磁盘I/O、网络、内存、调度等多种测试套件。
  • 具备自动化测试能力,测试运行无需人工干预。
  • 可通过测试脚本评估系统的I/O吞吐量、内存使用情况、调度性能等性能表现。
  • 能进行系统稳定性测试,检测内存泄漏、系统崩溃等情况。

安装使用步骤

环境配置

  1. 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
  2. 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
  3. 数据盘准备:机器需要有数据盘vdb、vdc,系统盘vda建议50G以上,数据盘建议各40G以上,io读写磁盘测试可能会破坏该盘上的数据。
  4. 文件系统支持:内核版本需要支持挂载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_testbash avocado run path/xxx.sh
    • stress_testbash ./path/xxx.sh -param1 xx -param2 xx

查看测试结果

每个测试下可能会有一个以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】