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

如何通过NRQL在New Relic生成含百分位数的响应时间图表?

New Relic NRQL查询实现指定性能图表

核心查询语句

FROM Transaction
WHERE transactionType = 'Web'
SELECT
  average(duration) AS '当前时段平均响应时间',
  percentile(duration, 1) AS '1% 百分位数',
  percentile(duration, 5) AS '5% 百分位数',
  percentile(duration, 95) AS '95% 百分位数',
  percentile(duration, 99) AS '99% 百分位数'
COMPARE WITH 1 WEEK, 2 WEEK, 3 WEEK, 4 WEEK, 5 WEEK, 6 WEEK, 7 WEEK, 8 WEEK
TIMESERIES <时间粒度>
WHERE <自定义时段过滤>

关键参数说明

  • <时间粒度>:替换为所需聚合粒度,比如1 MINUTE(每分钟聚合)、5 MINUTES(每5分钟),按需调整图表精度。
  • <自定义时段过滤>:替换为指定时段,比如timestamp >= '2024-05-20T09:00:00+08:00' AND timestamp <= '2024-05-20T10:00:00+08:00',也可直接在New Relic界面选定时段,查询会自动匹配时间范围。
  • transactionType = 'Web':过滤Web类型请求,确保仅统计目标数据。

合并百分位区间的调整方案

若需将过去60天内每周同一时段的百分位数合并为整体区间(而非分周展示),可使用子查询实现:

SELECT
  average(duration) AS '当前时段平均响应时间',
  percentile(duration, 1) AS '1% 百分位数',
  percentile(duration, 5) AS '5% 百分位数',
  percentile(duration, 95) AS '95% 百分位数',
  percentile(duration, 99) AS '99% 百分位数'
FROM (
  FROM Transaction
  WHERE transactionType = 'Web'
    AND timestamp >= ago(60 DAYS)
    AND hourOfDay(timestamp) BETWEEN <起始小时> AND <结束小时>
    AND dayOfWeek(timestamp) = dayOfWeek(now())
  SELECT duration
)
TIMESERIES <时间粒度>
WHERE <自定义当前时段过滤>
  • <起始小时>和<结束小时>:替换为指定时段的小时范围,比如当前选9点到10点,就写9 AND 10。
  • dayOfWeek(timestamp) = dayOfWeek(now()):确保仅取过去60天内与当前时段同星期几的时段数据,匹配“每周同一时段”要求。

使用步骤

  1. 打开New Relic的Query builder界面。
  2. 粘贴上述查询语句,替换对应参数。
  3. 选择图表类型为Line chart(折线图),即可同时展示当前平均响应时间和百分位区间线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:55:30