😎增加性能压力测试接口
This commit is contained in:
parent
7f476010b5
commit
e01e1989d4
@ -0,0 +1,38 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
namespace Admin.NET.Core.Service;
|
||||
|
||||
/// <summary>
|
||||
/// 性能压力测试输入
|
||||
/// </summary>
|
||||
public class StressTestInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 请求地址
|
||||
/// </summary>
|
||||
/// <example>https://gitee.com/zuohuaijun/Admin.NET</example>
|
||||
[Required]
|
||||
public string RequestUri { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 并发请求数量
|
||||
/// </summary>
|
||||
/// <example>100</example>
|
||||
public int NumberOfRequests { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 压测轮次
|
||||
/// </summary>
|
||||
/// <example>1</example>
|
||||
public int NumberOfRounds { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 最大并发度
|
||||
/// </summary>
|
||||
/// <example>500</example>
|
||||
public int MaxDegreeOfParallelism { get; set; } = 500;
|
||||
}
|
||||
@ -227,4 +227,19 @@ public class SysCommonService : IDynamicApiController, ITransient
|
||||
throw Oops.Oh($"获取机器码失败:{ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 性能压力测试 🔖
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[DisplayName("性能压力测试")]
|
||||
public async Task<StressTestHarnessResult> StressTest(StressTestInput input)
|
||||
{
|
||||
var httpRemoteService = App.GetRequiredService<IHttpRemoteService>();
|
||||
var stressTestHarnessResult = await httpRemoteService.SendAsync(HttpRequestBuilder.StressTestHarness(input.RequestUri)
|
||||
.SetNumberOfRequests(input.NumberOfRequests) // 并发请求数量
|
||||
.SetNumberOfRounds(input.NumberOfRounds) // 压测轮次
|
||||
.SetMaxDegreeOfParallelism(input.MaxDegreeOfParallelism)); // 最大并发度
|
||||
return stressTestHarnessResult;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user