和城乡建设厅官方网站,wordpress woff,wordpress侧边栏加图片,建设家装网站WebAppDbTest 项目测试 测试工具 ltt介绍安装使用方式1、Drill2、Hammer3、Nailgun 测试主机规格配置CRUD 性能测试对比1、ltt 工具测试1.1、AddSingle 单条数据添加1.2、AddBulk 批量数据#xff08;1000#xff09;条添加1.3、GetSingle 单条数据查询1.4、GetAll 多条… WebAppDbTest 项目测试 测试工具 ltt介绍安装使用方式1、Drill2、Hammer3、Nailgun 测试主机规格配置CRUD 性能测试对比1、ltt 工具测试1.1、AddSingle 单条数据添加1.2、AddBulk 批量数据1000条添加1.3、GetSingle 单条数据查询1.4、GetAll 多条1000数据查询 2、方法执行时间分析2.1、查看 WeatherForecast 天气预报数据2.1.1、LiteDB 数据集记录信息2.1.2、SQLite 数据表记录信息 2.2、显示 LiteDB.Studio 截图2.3、测试类库版本2.4、统计结果信息 测试项目 WebAppDbTest 地址https://gitee.com/dolayout/sample/tree/master/code/Sample.WebAppDbTest 测试工具 ltt
介绍
LoadTestToolbox 是一个使用 C# 开发的轻量级压测工具基于 .NET6 版本 和其他压测工具相比LoadTestToolbox 安装和使用都非常简单。
LoadTestToolbox 提供了一种可靠的方式来模拟高负载情况来确定系统的瓶颈和性能极限并且支持以图片输出压测结果。
安装
该工具是基于 .NET6 开发所以前提条件是宿主机环境安装了 .NET6 SDK然后执行 cli 命令全局安装
dotnet tool install --global LoadTestToolbox
# or
dotnet tool install -g LoadTestToolboxLoadTestToolbox 工具安装成功输出如下信息 使用方式
LoadTestToolbox 目前包含了三个工具分别是drill、hammer、nailgun。
drill周期性发起请求测试应用的长期稳定性hammer指定范围内递增的并发请求测试接口的性能nailgun发起瞬间的大量请求来测试接口性能
1、Drill
Drill 可以通过在更长的时间内以间隔不断的请求来进行测试应用的长期稳定性。
命令用法式例
ltt drill --url https://www.baidu.com/ --rps 100 --duration 10 --filename drill-jd-chart.png命令说明
在上面的命令中LoadTestToolbox 将每秒发出 100 个请求以一致的 20 毫秒间隔持续 10 秒请求到 www.jd.com。
完成后会输出到 笛卡尔图 的测试结果并且显示每个请求和对应的响应时间。 输出结果drill-jd-chart.png 2、Hammer
Hammer 可以通过指定范围的并发请求测试接口的性能并返回每个请求的平均响应时间。
命令用法式例
ltt hammer --url http://www.jd.com --min 1 --max 100 --filename hammer-jd-chart.png命令说明
上面的命令会同时发出 1 个请求然后是 2 个、3 个依此类推最多是 100 个并发请求到 www.jd.com。 输出结果hammer-jd-chart.png 3、Nailgun
Nailgun 可以对指定的接口发起瞬间的大量请求来测试接口性能。
命令用法式例
ltt nailgun --url http://www.jd.com/ --requests 100 --filename nailgun-jd-chart.png命令说明
一次性发起 ·100· 个请求到 www.jd.com。 输出结果nailgun-jd-chart.png 上面就是 LoadTestToolbox 的三个drill、hammer 、nailgun主要工具该工具还支持各种配置HTTP 请求方法请求头请求体等。 LoadTestToolbox 项目地址 https://github.com/ecoAPM/LoadTestToolbox 测试主机规格配置
此处使用的腾讯电脑管家检测电脑配置显示信息如下 CRUD 性能测试对比 这里就列举新增数据和查询数据两种类型的操作其他类型操作类似感兴趣的小伙伴可自行测试。 1、ltt 工具测试
此处使用 LoadTestToolbox 的 nailgun 方式测试 api 接口性能 1.1、AddSingle 单条数据添加
输入命令
ltt nailgun --url http://localhost:8080/api/Sqlite/AddSingle --requests 100 --filename sqlite-addsingle-chart.pngltt nailgun --url http://localhost:8080/api/LiteDb/AddSingle --requests 100 --filename litedb-addsingle-chart.png单条数据添加输出信息 sqlite-AddSingle litedb-AddSingle 1.2、AddBulk 批量数据1000条添加
输入命令
ltt nailgun --url http://localhost:8080/api/Sqlite/AddBulk --requests 100 --filename sqlite-addbulk-chart.pngltt nailgun --url http://localhost:8080/api/LiteDb/AddBulk --requests 100 --filename litedb-addbulk-chart.png批量数据添加输出信息
sqlite-AddBulk litedb-AddBulk 1.3、GetSingle 单条数据查询
输入命令
ltt nailgun --url http://localhost:8080/api/Sqlite/GetSingle --requests 100 --filename sqlite-getsingle-chart.pngltt nailgun --url http://localhost:8080/api/LiteDb/GetSingle --requests 100 --filename litedb-getsingle-chart.png单条数据查询输出信息
sqlite-GetSingle litedb-GetSingle 1.4、GetAll 多条1000数据查询
输入命令
ltt nailgun --url http://localhost:8080/api/Sqlite/GetAll --requests 100 --filename sqlite-getall-chart.pngltt nailgun --url http://localhost:8080/api/LiteDb/GetAll --requests 100 --filename litedb-getall-chart.png多条数据查询输出信息
sqlite-GetAll litedb-GetAll 2、方法执行时间分析
2.1、查看 WeatherForecast 天气预报数据
2.1.1、LiteDB 数据集记录信息
执行 sql 语言分组查询
SELECT *.Summary,COUNT(*) AS total,[MAX(*.TemperatureC),MIN(*.TemperatureC)] TemperatureC,[MAX(*.TemperatureF),MIN(*.TemperatureF)] TemperatureF
FROM WeatherForecast
WHERE Date 2024-12-31 23:59:59
GROUP By Summary;输出结果 2.1.2、SQLite 数据表记录信息
执行 sql 语言分组查询
select Summary,count(Id) as total,[ || MAX(TemperatureC) || , || MIN(TemperatureC) || ] TemperatureC,[ || MAX(TemperatureF) || , || MIN(TemperatureF) || ] TemperatureF
from WeatherForecast
where Date 2024-12-31 23:59:59
GROUP BY Summary;输出结果 2.2、显示 LiteDB.Studio 截图
a1、执行 sql 语句
SELECT $ FROM ActionExecInfo
order by ActionName;a2、输出结果 b1、执行 sql 语句
SELECT *.Database,*.ActionName,COUNT(*) AS total,[MAX(*.ExecTime),MIN(*.ExecTime)] ExecTime
FROM ActionExecInfo
GROUP By ActionName;b2、输出结果 2.3、测试类库版本
–SQLiteLiteDBVersion3.41.25.0.17Nuget PackageFreeSql.Provider.Sqlite v3.2.805LiteDB.Async v0.1.7
2.4、统计结果信息
两种数据库对应的 CRUD 方法执行信息都记录在 LiteDB 数据库中数据集是 ActionExecInfo数据结果统计信息如下
dbAddSingle/1AddBulk/1000GetSingle/1GetAll/1000UpdateSingle/1UpdateBulk/30DeleteSingle/1DeleteBulk/30sqlite864165815284705170479181709904419176842337785313632074044810895litedb507606216464773167457881705384724372806252779663472934535131508
折线统计图显示信息 柱状统计图显示信息 说明以上数值越小越好执行时间单位毫秒/ms。 操作类型后面跟的是数据行数例如AddSingle/1执行单次数据添加操作数据量1条。