- 双击SuperSheeps.exe启动单机模式,控制台内显示部分简要信息。
顶部内容显示使用的lua版本为5.4.2,正在运行单机模式及控制台后台的访问地址 http://127.0.0.1:1080。
中间部分显示负载端当前运行的项目,控制端连接地址、状态,还显示了当前使用的配置 project/lua/0/config.ini 和脚本 project/lua/0/script/main.lua。状态为准备说明程序初始化完成。
底部信息提供操作指令,目前仅支持退出程序。
![微信截图_20230420141053](assets\%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230420141053.png)
- 访问控制台 http://127.0.0.1:1080 ,创建如下任务,并在任务列表中将日志修改为DEBUG,此配置是控制任务运行时输出的日志信息等级。
![微信截图_20230420111207](assets\%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230420111207.png)
- 在任务列表中点击“开始”,任务开始运行,控制台会打印运行日志信息,前部分固定信息为日志等级、线程号、用户编号、时间。其中重要的时用户编号,用以区分来自同一个压测用户运行日志。
![微信截图_20230420115312](assets\%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230420115312.png)
-
一个简单的压测任务就运行完成,用户可以试着修改不同参数,通过日志信息观察supersheeps如何执行测试任务。
-
已经大概了解了supersheeps如何运行压测任务,现在可以试着编写压测脚本。我们通过控制台信息得知当前运行的脚本是 project/lua/0/script/main.lua,用vscode直接打开project/lua/0 目录,查看其代码如下:
![微信截图_20230420150221](assets\%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230420150221.png)
代码中引用了库 http_plugin.controller,在lualib目录下,这是supersheeps自带的适用于web项目的插件库。
代码还引用router模块,这是一个路由模块,用于不同http接口的具体逻辑处理
还定义了一些以Event开头的全局函数,这些函数都是固定命名的,并且必须为全局函数,用于事件接收,事件处理逻辑由用户自定义。
再看router模块,代码在router.lua中
![微信截图_20230420150307](assets\%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230420150307.png)