You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 7 HttpClient每6分钟出现请求响应延迟问题求助

HTTP请求每6分钟出现一次高耗时峰值的问题排查

问题描述

我们遇到了HTTP请求的异常耗时问题:每6分钟会出现一次耗时高达162ms的请求,而这类请求的平均耗时仅为7ms。

测试环境与场景:

  • 本地运行K6脚本,以36次/分钟的频率调用部署在AWS ECS实例上的服务控制器
  • 只要保持该请求速率,这种慢响应模式就会持续存在
  • 当K6请求发送速率提高时,requestduration指标的峰值会变得不明显

已完成的排查动作:

  • 对被调用的API控制器做了指标监控,其平均耗时仅2ms,可排除控制器本身的问题
  • 最初怀疑是PooledConnectionIdleTimeout导致,但我们使用的是.NET 7,该参数默认值为1分钟,与6分钟的周期不匹配
  • 基础设施层面未发现会导致此类峰值的因素

指标图表

requestduration指标图表

相关代码

HttpClient注册

_builder.Services.AddHttpClient<IHttpClient, HttpClient>();

HttpClient实现

public class HttpClient : IHttpClient
{
    private readonly Metric.Client.IRecorder c_metrics;
    private readonly System.Net.Http.HttpClient c_httpClient;
    
    public HttpClient(
        Metric.Client.IRecorder metrics,
        System.Net.Http.HttpClient httpClient)
    {
        this.c_httpClient = httpClient;
    }

    public async Task<HttpResponseMessage> GetAsync(
        string requestUrl,
        string correlationId)
    {
        using (var _request = new HttpRequestMessage(HttpMethod.Get, requestUrl))
        {
            _request.Headers.Add("X-CorrelationId", correlationId);
            
            using var _timer = this.c_metrics.StartTimer("requestduration");
            return await this.c_httpClient.SendAsync(_request);
        }
    }
}

控制器使用代码

public Controller(
    IHttpClient httpClient)
{
    this.c_httpClient = httpClient;
}

public async Task<IActionResult> GetAsync(
    [FromQuery] Request request)
{
    var _privateResponse = await this.c_httpClient.GetAsync(_requestUrl, _correlationId);

    if (_privateResponse.StatusCode != HttpStatusCode.OK)
    {
        return StatusCode(500, new Error(Guid.Parse(_correlationId), "Internal server error"));
    }

    var _privateResponseContent = await _privateResponse.Content.ReadAsStringAsync();

    return Ok(JsonSerializer.Deserialize<Response>(_privateResponseContent));
}

提问

是否有人遇到过类似的HTTP请求行为?上述代码是否存在可能导致该问题的隐患?


内容的提问来源于stack exchange,提问作者Alan Mulligan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:20:24