跳到主要内容

基准测试

此目录包含使用 Benchee 的 SMS-C 系统性能基准测试。

可用基准测试

1. 原始 SMS 基准测试 (raw_sms_bench.exs)

基准测试 submit_message_raw API 端点,使用真实的 SMS PDU。

特点:

  • 使用真实的 SMS PDU(将您的 PDU 添加到文件中的 @sample_pdus 列表中)
  • 通过在每次迭代前清除指纹来禁用重复检测
  • 输出控制台和 HTML 报告

用法:

mix run benchmarks/raw_sms_bench.exs

输出: benchmarks/output/raw_sms_benchmark.html

2. 消息 API 基准测试 (message_api_bench.exs)

基准测试各种消息 API 操作,包括插入、检索和路由。

特点:

  • 测试 insert_message(简单和带路由)
  • 测试 get_messages_for_smsc
  • 测试 list_message_queues
  • 为现实场景预填充测试数据到数据库

用法:

mix run benchmarks/message_api_bench.exs

输出: benchmarks/output/message_api_benchmark.html

配置

所有基准测试使用 Benchee,默认设置如下:

  • 热身:2 秒
  • 时间:10 秒
  • 内存时间:2 秒
  • 启用扩展统计
  • 自动生成 HTML 报告

输出

HTML 基准测试报告生成在 benchmarks/output/ 中,包括:

  • 详细的性能指标
  • 比较图表
  • 内存使用统计
  • 统计分析