4. 周期参数配置界面:GUI配置面板详解、CLI命令行配置方式、配置文件(YAML/JSON)结构
周期参数配置是 LinkTest 网络波动容错测试的核心环节。本章将系统讲解三种配置途径:图形化 GUI 面板、命令行 CLI 交互、以及 YAML/JSON 配置文件结构。三种方式面向不同使用场景,但最终映射到同一套参数模型。
配置方式选择建议: 日常调试与可视化监控推荐 GUI;自动化脚本与 CI/CD 集成推荐 CLI;版本管理与批量部署推荐 YAML/JSON 配置文件。
4.1 GUI 配置面板详解
GUI 配置面板采用分层布局,将周期参数分为“基础周期”、“波动容错”、“高级调度”三个功能区。面板默认加载上一次保存的配置,并在参数变更时实时校验合法性。
GUI 面板关键操作流程:
- 在“基础周期”区设置发送间隔、超时阈值、重试次数等核心参数。
- 在“波动容错”区配置抖动容忍百分比、丢包容忍阈值、波动窗口大小。
- 在“高级调度”区选择调度模式(固定周期/自适应周期)并设置执行时段。
- 点击“校验配置”按钮,系统自动检查参数合法性(如间隔不能大于超时阈值)。
- 校验通过后点击“应用”或“保存为默认”完成配置。
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 都会在生效前执行以下校验规则,确保参数组合的合法性与稳定性。
核心校验规则清单:
- 范围校验: 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 命令进行离线校验,避免错误配置上线。