如何评估留个VKProxy在性能测试中的表现?

摘要:其实原本是打算OpenTelemetry对应内容搞好后再做个简单的性能测试,也算表明自己写(抄)代码的能力(不至于用了反射什么的就把Kestrel这么好的底子的性能拖垮了) 但是最近看见一篇go的文章 报告揭示 OpenTelemetry
其实原本是打算OpenTelemetry对应内容搞好后再做个简单的性能测试,也算表明自己写(抄)代码的能力(不至于用了反射什么的就把Kestrel这么好的底子的性能拖垮了) 但是最近看见一篇go的文章 报告揭示 OpenTelemetry 对 Go 的性能影响,说OpenTelemetry 拖慢了 go 30+% 的性能, 虽然个人还是保守持怀疑态度,但万一本人代码写得臭,到时候找不到地方怪怎么办 所以先留份简单的性能测试记录,后面搞好OpenTelemetry再做个比较 基准项目 一切从简,就选大家都熟悉的初始demo项目做基准好了 [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ILogger<WeatherForecastController> _logger; public WeatherForecastController(ILogger<WeatherForecastController> logger) { _logger = logger; } [HttpGet(Name = "GetWeatherForecast")] public IEnumerable<WeatherForecast> Get() { this.Response.Headers["x-p"] = this.Request.Protocol; return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), TemperatureC = Random.Shared.Next(-20, 55), Summary = Summaries[Random.Shared.Next(Summaries.Length)] }) .ToArray(); } } 代理配置 启动最简单的代理配置(主要想看看最理想情况下的结果) { "Logging": { "LogLevel": { "Default": "Warning" } }, "ServerOptions": { "AddServerHeader": false }, "ReverseProxy": { "ConnectionTimeout": "00:00:01.000", "Listen": { "https": { "Protocols": [ "Http1", "Http2", "Http3" ], "Address": [ "127.0.0.1:5001" ], "UseSni": true, "SniId": "test" }, "http": { "Protocols": [ "Http1" ], "Address": [ "127.0.0.1:5000" ] }, "tcptest": { "Protocols": [ "Tcp" ], "Address": [ "127.0.0.1:5002" ], "RouteId": "tcpTest" } }, "Sni": { "test": { "Host": [ "*" ], "CheckCertificateRevocation": false, "Certificate": {
阅读全文