4. 周期参数配置界面:GUI配置面板详解、CLI命令行配置方式、配置文件(YAML/JSON)结构

周期参数配置是 LinkTest 网络波动容错测试的核心环节。本章将系统讲解三种配置途径:图形化 GUI 面板、命令行 CLI 交互、以及 YAML/JSON 配置文件结构。三种方式面向不同使用场景,但最终映射到同一套参数模型。

配置方式选择建议: 日常调试与可视化监控推荐 GUI;自动化脚本与 CI/CD 集成推荐 CLI;版本管理与批量部署推荐 YAML/JSON 配置文件。

4.1 GUI 配置面板详解

GUI 配置面板采用分层布局,将周期参数分为“基础周期”、“波动容错”、“高级调度”三个功能区。面板默认加载上一次保存的配置,并在参数变更时实时校验合法性。

GUI 配置面板布局 基础周期 发送间隔:100 ms 超时阈值:1000 ms 重试次数:3 数据包大小:64 B 协议类型:ICMP 波动容错 抖动容忍:±30% 丢包容忍:5% 波动窗口:10 周期 容错策略:滑动平均 恢复检测:3 次连续 高级调度 调度模式:固定周期 执行时段:00:00-23:59 并发数:5 日志级别:INFO 告警阈值:3 次失败
GUI 面板关键操作流程:
  1. 在“基础周期”区设置发送间隔、超时阈值、重试次数等核心参数。
  2. 在“波动容错”区配置抖动容忍百分比、丢包容忍阈值、波动窗口大小。
  3. 在“高级调度”区选择调度模式(固定周期/自适应周期)并设置执行时段。
  4. 点击“校验配置”按钮,系统自动检查参数合法性(如间隔不能大于超时阈值)。
  5. 校验通过后点击“应用”或“保存为默认”完成配置。

4.2 CLI 命令行配置方式

CLI 方式适用于自动化脚本、远程 SSH 管理以及 CI/CD 流水线集成。LinkTest 提供 linktest config 子命令,支持参数级联覆盖与批量导入。

4.2.1 基础配置命令

# 设置基础周期参数
linktest config set --interval 100 --timeout 1000 --retry 3 --packet-size 64

# 设置波动容错参数
linktest config set --jitter-tolerance 30 --loss-tolerance 5 --window-size 10

# 设置高级调度参数
linktest config set --schedule-mode fixed --concurrency 5 --log-level INFO

4.2.2 配置查看与导出

# 查看当前生效配置
linktest config show

# 导出配置为 YAML 格式
linktest config export --format yaml --output ./config.yaml

# 从 JSON 文件导入配置
linktest config import --format json --input ./config.json
CLI 参数优先级规则: 命令行参数 > 环境变量 > 配置文件 > 系统默认值。当同一参数在多个来源出现时,优先级高的覆盖优先级低的。

4.3 配置文件结构(YAML / JSON)

配置文件是 LinkTest 周期参数的标准持久化格式,支持 YAML 和 JSON 两种序列化方式。两种格式在语义上完全等价,可根据团队习惯选择。

4.3.1 YAML 配置示例

# LinkTest 周期参数配置 (YAML)
version: "2.0"
metadata:
  author: "admin"
  created: "2025-03-20T10:00:00Z"
  description: "生产环境网络波动容错测试配置"

base_cycle:
  interval_ms: 100          # 发送间隔,单位毫秒
  timeout_ms: 1000          # 超时阈值,单位毫秒
  retry_count: 3            # 重试次数
  packet_size_bytes: 64     # 数据包大小
  protocol: "ICMP"          # 协议类型:ICMP/TCP/UDP

fluctuation_tolerance:
  jitter_tolerance_percent: 30    # 抖动容忍百分比
  loss_tolerance_percent: 5       # 丢包容忍百分比
  window_size: 10                 # 波动统计窗口(周期数)
  tolerance_strategy: "sliding_avg"  # 容错策略
  recovery_detection_count: 3     # 恢复检测连续成功次数

advanced_schedule:
  schedule_mode: "fixed"          # 调度模式:fixed/adaptive
  time_range: "00:00-23:59"      # 执行时段
  concurrency: 5                  # 并发测试数
  log_level: "INFO"               # 日志级别
  alert_threshold: 3              # 连续失败告警阈值

4.3.2 JSON 配置示例

{
  "version": "2.0",
  "metadata": {
    "author": "admin",
    "created": "2025-03-20T10:00:00Z",
    "description": "生产环境网络波动容错测试配置"
  },
  "base_cycle": {
    "interval_ms": 100,
    "timeout_ms": 1000,
    "retry_count": 3,
    "packet_size_bytes": 64,
    "protocol": "ICMP"
  },
  "fluctuation_tolerance": {
    "jitter_tolerance_percent": 30,
    "loss_tolerance_percent": 5,
    "window_size": 10,
    "tolerance_strategy": "sliding_avg",
    "recovery_detection_count": 3
  },
  "advanced_schedule": {
    "schedule_mode": "fixed",
    "time_range": "00:00-23:59",
    "concurrency": 5,
    "log_level": "INFO",
    "alert_threshold": 3
  }
}

4.4 三种配置方式对比

对比维度 GUI 面板 CLI 命令行 配置文件 (YAML/JSON)
使用门槛 低,可视化操作 中,需记忆命令 中,需了解格式语法
自动化支持 不支持 支持脚本调用 支持版本管理与批量部署
实时校验 即时反馈 执行时校验 加载时校验
参数覆盖 手动逐项修改 支持参数级联覆盖 支持继承与合并
适用场景 单机调试、临时调整 自动化测试、远程管理 生产环境、CI/CD 集成

4.5 配置参数校验规则

无论通过哪种方式配置,LinkTest 都会在生效前执行以下校验规则,确保参数组合的合法性与稳定性。

配置参数校验流程 配置参数输入 校验1:参数范围合法性 校验2:参数间逻辑一致性 校验通过 / 失败提示
核心校验规则清单:
  • 范围校验: interval_ms 必须在 10~60000 之间;timeout_ms 必须大于 interval_ms;retry_count 必须在 0~10 之间。
  • 一致性校验: jitter_tolerance_percent + loss_tolerance_percent 不得超过 100;window_size 必须大于 recovery_detection_count。
  • 依赖校验: 当 schedule_mode 为 adaptive 时,必须同时配置 adaptive_interval_range 参数。

4.6 配置持久化与版本管理

LinkTest 支持将配置保存为本地文件,并内置版本号字段用于追踪变更历史。推荐将配置文件纳入 Git 等版本控制系统,实现配置变更的可追溯与回滚。

# 配置版本管理示例
# 保存配置时自动生成版本号
linktest config save --name "prod-config-v2.1"

# 查看配置历史版本
linktest config history

# 回滚到指定版本
linktest config rollback --version "2.0"
最佳实践: 每次修改配置前,先执行 linktest config export 备份当前配置。修改完成后,使用 linktest config validate 命令进行离线校验,避免错误配置上线。