用于执行用 .NET C# 编写的负载测试的通用性能测试库
- 最初旨在为开发人员(以及极端情况场景)提供最大的灵活性。
- 但很容易使用它来编写集成测试 - 只是为了更多线程。 :)
- NuGet:
Install-Package Viki.LoadRunner -pre
快速介绍
当前文档仅采用代码示例的形式。
- 它还远未完成,但在我看来,它应该足以看出这个工具是否有用。
从这个小设置开始,感受一下它的配置方式。
- 需要定义 3 件事才能进行完整的工作测试(请参阅 QuickStartDemo.cs):
- [1] 编写场景实现,定义代码本身,该代码将被并发执行多次。
- [2][可选] 配置如何聚合/呈现结果。
- [3] 配置测试如何执行的策略(例如,有多少线程,应该运行多长时间等...)
- 真实案例和简单的负载测试场景,用于测量简单 http 服务器的“理论上”性能 - https://github.com/Vycka/HttpMockSlim/tree/master/tests/HttpMockSlim.LoadTest
HistogramAggregator 是一个默认工具,用于聚合具有定义的维度/指标的结果
- 鉴于其灵活性,文档需要时间才能完成。
- 在那之前 - 通过现有示例中的各种用途应该很容易弄清楚它:
- HistogramAggregatorDemo.cs#L30 - 开发中
- 快速入门演示.cs#L64
- RawDataMeasurementsDemo.cs#L59
- AggregationImpactDemo.cs#L39
- BatchAndWaitDemo.cs#L29
- 此直方图还有一个通用版本,可用于您自己的自定义数据:
new Histogram<T>()
- 它带有一些通用维度和指标,但考虑到自定义类型和所需的聚合,可能需要实现一些自定义 IDimension<T> 和 IMetric<T>
演示项目的其余部分:
- 指数
- 特定功能演示 (WiP)
- RawDataMeasurementsDemo.cs
- ScenarioFactoryDemo.cs
- 发动机吞吐量 (WIP)
- TheoreticalSpeedDemo.cs - 不进行任何测量的理论吞吐量。
- AggregationImpactDemo.cs - 附加聚合管道的理论吞吐量。
在演示项目完成之前,人们还可以检查我用于调试的混乱设置:
- src/Playground/Program.cs
未来的待办事项
有任何问题/建议/等,请随时与我联系。