#客户端-服务器 #中心 #指标 #模拟 #请求 #引擎

app awt

一个可以模拟客户端/服务器并处理多个请求的模拟引擎

1 个不稳定版本

0.1.0 2023年4月30日

185模拟

MIT 协议

59KB
1.5K SLoC

AWT

CI

一个用Rust编写的简易呼叫中心模拟游戏!

构建

cargobuild --release

运行

使用cargo直接运行

cargorun --release -- <path/to/config.toml>

配置

此模拟运行器旨在根据TOML配置运行。可以通过命令行参数提供TOML配置的路径。

结构分为以下区域

  • 模拟设置
  • 客户端设置
  • 服务器设置
  • 指标设置
  • 属性

基本模拟设置如下

simulations - 整数 - 要运行的模拟数量

tick_size - 持续时间 - 每次滴答的时间大小

tick_until - 持续时间 - 模拟的终点

clients - 数组 - 支持多种模式和多个请求的 client 数组

servers - 数组 - 支持处理多种模式和多个请求的 server 数组

metrics - 数组 - 支持在模拟中创建要测量的 metric 数组

实际滴答次数的最大值可以用 tick_until / tick_size 表示。

示例

  • tick_until 是 3600 秒
  • tick_size 是 0secds,10_000_000 纳秒(10ms)

总的可能滴答次数是 3600 / 0.01 = 360000 滴答/次模拟。

客户端

handle_time - 持续时间 - 请求回答后服务器使用的时间

abandon_time - 持续时间 - 请求等待直到放弃的时间

clean_up_time - 持续时间 - 未来使用

quantity - 整数 - 创建匹配上述参数的请求数量

required_attributes - 属性 - 未来用途

服务器

quantity - 整数 - 创建以处理请求的服务器数量

attributes - 属性 - 未来用途

指标

metric - 指标类型 - 要创建的指标类型

sla - 持续时间 - (仅用于服务水平指标) SLA的秒数

target - 变量 - 指标的目标

以下指标类型(及其目标)受支持

指标类型 目标类型
服务水平(持续时间) float64
平均工作时间 持续时间
平均响应速度 持续时间
平均放弃时间 持续时间
平均排队时间 持续时间
平均工作时间 持续时间
放弃率 float64
回答次数 整数

属性

未来用途

待办事项

  • 可配置的日志记录
  • 安全属性路由
  • 路由中支持Lua

许可证

awt 使用MIT许可证(c)Ben Naylor.

依赖项

~3–14MB
~129K SLoC