Skip to content

mougua/GenPerfTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GenPerfTest

SIP 性能测试配置生成工具集,用于生成 pjsua 和 SIPp 测试所需的配置文件。

工具列表

工具 功能
genpjtest 生成 pjsua 测试配置文件
gensipptest 生成 SIPp 测试 CSV 文件
genusers 生成 FreeSWITCH 用户 XML 配置
httpserver 简易 HTTP 文件服务器
diskbench 磁盘写入性能测试
reportlog2db 日志解析转 SQL 工具

编译

# 编译所有工具 (Linux + Windows)
make all

# 仅编译 Windows 版本
make build-test-windows

# 清理
make clean

编译产物输出到 dist/ 目录。

genpjtest - pjsua 配置生成器

生成 pjsua 自动应答测试配置,用于 SIP 注册和通话测试。

参数说明

参数 说明 示例
-group 用户组前缀 10003_
-idip SIP ID 的 IP 地址 172.16.23.52
-reg SIP 注册服务器地址 172.16.23.52:6060
-password SIP 密码(统一) 888888
-realm SIP realm *(默认)
-port 起始本地端口 10000(默认)
-set 配置集 见下方说明

-set 参数格式

主叫起始,被叫起始,数量|主叫起始,被叫起始,数量

示例:

# 生成两组配置:99个(6001起呼) + 100个(6200起呼)
genpjtest -group 10003_ -idip 172.16.23.52 -reg 172.16.23.52:6060 -password 888888 -set "6101,6001,99|6300,6200,100"

输出

配置文件生成到 genfile/pj_test/ 目录:

  • test0/config.cfg
  • test1/config.cfg
  • ...

每个配置文件包含最多 4 个账号,自动配置:

  • SIP 注册信息
  • 自动应答 (200)
  • 自动播放 sample1.wav

gensipptest - SIPp 配置生成器

生成 SIPp 压力测试所需的 CSV 数据文件。

参数说明

参数 说明 示例
-group 用户组前缀 10003
-set 配置集 同 genpjtest
-head CSV 头部类型 SEQUENTIAL(默认)/ RANDOM
-fixnum 是否固定被叫号码 false(默认)

示例

gensipptest -group 10003 -set "6101,6001,99|6300,6200,100"

输出

生成 genfile/sipp_test/t.csv,格式:

SEQUENTIAL
100036101;6001;[authentication username=100036101 password=888888]
...

genusers - FreeSWITCH 用户生成器

生成 FreeSWITCH 用户目录 XML 配置。

参数说明

参数 说明 示例
-prefix 用户前缀 10000_
-from 起始编号 1000
-to 结束编号 1399

示例

genusers -prefix 10000_ -from 1000 -to 1399

输出到 genfile/users/test-users.xml

httpserver - HTTP 文件服务器

简易 HTTP 服务器,用于分发测试文件。

httpserver -p 8028

diskbench - 磁盘性能测试

测试磁盘写入性能,写入约 800MB 数据并计算速度。

diskbench

reportlog2db - 日志转 SQL

解析 IVR 日志文件生成 SQL INSERT 语句。

reportlog2db -f logfile.log [-l]
  • -f: 日志文件路径
  • -l: 本地模式,追加 tenant 更新语句

发布包制作

Makefile 提供预设的发布目标:

make release-theme1      # 测试环境 theme1
make release-theme-chitu # 赤兔环境
make release-theme-prod  # 生产环境
make release-theme-test  # 测试环境

发布包输出到 release/<theme>/,包含:

  • pj_test/ - pjsua 测试脚本和配置
  • sipp_test/ - SIPp 测试脚本和配置

目录结构

GenPerfTest/
├── Makefile           # 构建脚本
├── src/               # 源代码
│   ├── genpjtest.go   # pjsua 配置生成
│   ├── gensipptest.go # SIPp 配置生成
│   ├── genusers.go    # 用户 XML 生成
│   ├── httpserver.go  # HTTP 服务器
│   ├── diskbench.go   # 磁盘性能测试
│   └── reportlog2db.go# 日志转 SQL
├── resource/          # 资源文件
│   ├── pjsua/         # pjsua 脚本和音频
│   └── sipp/          # SIPp 脚本和音频
├── dist/              # 编译输出
├── genfile/           # 生成的配置文件
└── release/           # 发布包

依赖

  • Go 1.x
  • pjsua(测试执行)
  • SIPp(测试执行)

About

批量生成pjsua和sipp测试配置,用于呼叫中心的压力测试

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors