Timescale Cloud:性能、规模、企业级
自托管产品
MST
Timescale 使用近似算法来计算百分位数,而无需所有数据。这使得它们与连续聚合更兼容。
默认情况下,Timescale Toolkit 使用 uddsketch
,但您也可以选择使用 tdigest
。有关这些算法的更多信息,请参阅高级聚合方法文档。
在此过程中,我们使用一个名为 response_times
的示例表,其中包含有关服务器响应 API 调用所需时间的信息。
在
psql
提示符下,创建计算每日聚合的连续聚合CREATE MATERIALIZED VIEW response_times_dailyWITH (timescaledb.continuous)AS SELECTtime_bucket('1 day'::interval, ts) as bucket,percentile_agg(response_time_ms)FROM response_timesGROUP BY 1;重新聚合,获取最近 30 天的数据,并查找第 95 百分位数
SELECT approx_percentile(0.95, percentile_agg(percentile_agg)) as thresholdFROM response_times_dailyWHERE bucket >= time_bucket('1 day'::interval, now() - '30 days'::interval);您还可以创建警报
WITH t as (SELECT approx_percentile(0.95, percentile_agg(percentile_agg)) as thresholdFROM response_times_dailyWHERE bucket >= time_bucket('1 day'::interval, now() - '30 days'::interval))SELECT count(*)FROM response_timesWHERE ts > now()- '1 minute'::intervalAND response_time_ms > (SELECT threshold FROM t);
有关百分位数近似 API 调用的更多信息,请参阅超函数 API 文档。
关键词
发现此页面有错误?报告问题 或 在 GitHub 上编辑此页面
。