Skip to content

流动性测试

常规查询

模拟客户点开"流动性"tab,查询仅传入 1. token_address 1. ts范围 1. platform

测试结果

  • len(ng) = 11
  • 并发 = 60
  • QPS = 8899.5
  • min = 4 ms
  • max = 180 ms
summary + 199082 in 00:00:23 = 8477.3/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary + 260937 in 00:00:30 = 8697.9/s Avg:     6 Min:     4 Max:   127 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 460019 in 00:00:53 = 8601.1/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 258324 in 00:00:30 = 8610.8/s Avg:     6 Min:     4 Max:   261 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 718343 in 00:01:23 = 8604.6/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 266881 in 00:00:30 = 8896.0/s Avg:     6 Min:     4 Max:   107 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 985224 in 00:01:53 = 8681.6/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 265343 in 00:00:30 = 8844.8/s Avg:     6 Min:     4 Max:    62 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 1250567 in 00:02:23 = 8715.7/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 266190 in 00:00:30 = 8873.0/s Avg:     6 Min:     4 Max:   165 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 1516757 in 00:02:53 = 8742.9/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 268043 in 00:00:30 = 8934.8/s Avg:     6 Min:     4 Max:    61 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 1784800 in 00:03:23 = 8771.2/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 266386 in 00:00:30 = 8879.5/s Avg:     6 Min:     4 Max:    95 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 2051186 in 00:03:53 = 8785.1/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 269192 in 00:00:30 = 8973.1/s Avg:     6 Min:     4 Max:    69 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 2320378 in 00:04:23 = 8806.5/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 265146 in 00:00:30 = 8838.2/s Avg:     6 Min:     4 Max:    66 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 2585524 in 00:04:53 = 8809.8/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 261519 in 00:00:30 = 8717.3/s Avg:     6 Min:     4 Max:   191 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 2847043 in 00:05:23 = 8801.2/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 267335 in 00:00:30 = 8911.2/s Avg:     6 Min:     4 Max:    79 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 3114378 in 00:05:53 = 8810.5/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 269073 in 00:00:30 = 8969.1/s Avg:     6 Min:     4 Max:    63 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 3383451 in 00:06:23 = 8822.9/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 260562 in 00:00:30 = 8685.4/s Avg:     6 Min:     4 Max:   218 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 3644013 in 00:06:53 = 8812.9/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 265446 in 00:00:30 = 8845.3/s Avg:     6 Min:     4 Max:   126 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 3909459 in 00:07:23 = 8815.1/s Avg:     6 Min:     4 Max:   577 Err:     0 (0.00%)
summary + 266888 in 00:00:30 = 8899.5/s Avg:     6 Min:     4 Max:   180 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0

测试SQL

WITH token0 AS (
    SELECT ts,
           log_id,
           type,
           token0_address,
           token1_address,
           token0_symbol,
           token1_symbol,
           amount0,
           amount1,
           value,
           maker,
           transaction_hash,
           height,
           transaction_id,
           factory,
           token0_tags
    FROM bnb_dw.dex_swap_liq_bsc_with_tags
    WHERE token0_address = ?
      AND platform_id = 14
      AND ts >= EXTRACT(EPOCH FROM '2025-09-01 00:00:00'::TIMESTAMP)::BIGINT --{startTime}
      AND ts <= EXTRACT(EPOCH FROM '2025-11-01 00:00:00'::TIMESTAMP)::BIGINT -- {endTime}
      AND dt >= '2025-09-01' AND dt < '2025-11-01' -- 分区裁剪,必须跟ts范围相同
      AND (ts, height, transaction_id, log_id) < (EXTRACT(EPOCH FROM '2025-11-01 00:00:00'::TIMESTAMP)::BIGINT/*{endTime}*/, 9999999, 123456, 65536)
     ORDER BY ts DESC, height DESC, transaction_id DESC, log_id DESC
     LIMIT 100
), token1 AS (
    SELECT ts,
           log_id,
           type,
           token0_address,
           token1_address,
           token0_symbol,
           token1_symbol,
           amount0,
           amount1,
           value,
           maker,
           transaction_hash,
           height,
           transaction_id,
           factory,
           token1_tags
    FROM bnb_dw.dex_swap_liq_bsc_with_tags
    WHERE token1_address = ?
      AND platform_id = 14
      AND ts >= EXTRACT(EPOCH FROM '2025-09-01 00:00:00'::TIMESTAMP)::BIGINT --{startTime}
      AND ts <= EXTRACT(EPOCH FROM '2025-11-01 00:00:00'::TIMESTAMP)::BIGINT -- {endTime}
      AND dt >= '2025-09-01' AND dt < '2025-11-01' -- 分区裁剪,必须跟ts范围相同
      AND (ts, height, transaction_id, log_id) < (EXTRACT(EPOCH FROM '2025-11-01 00:00:00'::TIMESTAMP)::BIGINT/*{endTime}*/, 9999999, 123456, 65536)
    ORDER BY ts DESC, height DESC, transaction_id DESC, log_id DESC
LIMIT 100
)
SELECT * FROM (
    SELECT * FROM token0
    UNION ALL
    SELECT * FROM token1
)q
ORDER BY ts DESC, height DESC, transaction_id DESC, log_id DESC

复杂查询

  1. 模拟复杂过滤条件查询。

测试结果

测试SQL