全部產品
Search
文件中心

PolarDB:PolarSearch 1.0效能測試結果

更新時間:May 16, 2026

本文介紹PolarSearch 1.0版本在HTTP logs、NYC taxis與Geonames三個標準負載下的OpenSearch Benchmark效能測試結果。

說明

具體測試步驟請參見PolarSearch基準效能測試方法

寫入效能測試結果

寫入測試使用 append-no-conflicts-index-only test procedure,將完整語料批量寫入叢集,評估在不同並發寫入用戶端數(bulk_indexing_clients)下的寫入輸送量(docs/s)。每輪測試均從空索引開始。

HTTP logs寫入效能

資料集基於1998年世界盃期間真實Web伺服器訪問日誌,包含約2.47億條日誌記錄。

  • 測試情境 1:shard 6,replica 1

    HTTP logs Throughput(docs/s)

    Client 1

    Client 2

    Client 4

    Client 8(預設)

    Client 16

    Client 32

    PolarSearch 1.0

    127860

    197938

    324857

    454070

    466709

    469483

  • 測試情境 2:shard 6,replica 0

    HTTP logs Throughput(docs/s)

    Client 1

    Client 2

    Client 4

    Client 8(預設)

    Client 16

    Client 32

    PolarSearch 1.0

    172384

    288195

    512037

    741541

    783537

    785893

NYC taxis寫入效能

資料集基於2015年紐約出租車行程資料,包含約1.65億條記錄。

  • 測試情境1:shard 6,replica 1

    NYC taxis Throughput(docs/s)

    Client 1

    Client 2

    Client 4

    Client 8(預設)

    Client 16

    Client 32

    PolarSearch 1.0

    77098

    113670

    183412

    259955

    271045

    272685

  • 測試情境 2:shard 6,replica 0

    NYC taxis Throughput(docs/s)

    Client 1

    Client 2

    Client 4

    Client 8(預設)

    Client 16

    Client 32

    PolarSearch 1.0

    126167

    187151

    311023

    451135

    482505

    488001

搜尋效能測試結果

搜尋測試在寫入完成後執行,replica=1target_throughput=0(全速壓測模式),評估CPU滿載情況下的搜尋輸送量上限(ops/s)。

HTTP logs搜尋效能

term — 倒排索引精確尋找

logs-*上做精確詞項匹配,命中量固定為10,000 條,返回預設10條。考察PolarSearch 1.0版本倒排索引尋找效率、跨shard扇出合并開銷以及網路協調層處理能力。

HTTP logs term(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

148

312

591

829

1147

1475

asc_sort_timestamp — doc values排序

對全量文檔執行match_all + 按時間戳記升序排序,返回前10條。@timestamp為date類型,按照doc values列式儲存排序。考察PolarSearch 1.0版本doc values讀取效率、top-N堆排序及協調節點合并能力。

HTTP logs asc_sort_timestamp(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

133

262

443

579

732

931

range — 時間範圍掃描

@timestamp欄位執行動態時間視窗range查詢。日誌產品90%的查詢均帶時間過濾,該task考察日期範圍掃描效率,與term形成點查與範圍查的互補對比。

HTTP logs range(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

106

269

431

573

707

815

hourly_agg — 時序彙總

對全量文檔執行date_histogram(按小時分桶)。考察date類型彙總吞吐,是日誌監控與統計情境的核心操作。

HTTP logs hourly_agg(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

1.48

2.97

4.3

4.76

4.8

4.8

NYC taxis搜尋效能

match-all — 基礎調度基準

對全量約1.65億條記錄執行match_all,僅返回預設10條,無排序、無彙總。考察引擎請求解析、shard調度及結果序列化的基礎路徑效率。

NYC taxis match-all(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

281

564

1115

2022

3167

4508

range — 數值範圍掃描

total_amount(車費金額,scaled_float類型)執行固定數值範圍過濾,查詢車費在5~15美元之間的行程,返回預設10條。考察數值欄位範圍掃描效率。

NYC taxis range(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

10.63

21.07

39

43

43

43

autohisto_agg — 自適應時間彙總

對20天時間視窗內的資料執行auto_date_histogram(自動分桶,buckets=20),考察引擎自適應彙總能力。與range形成互補(range是數值範圍查詢,auto_date_histogram是時間範圍彙總)。

NYC taxis autohisto_agg(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

17.55

37.64

64.55

73.38

74

75.84

Geonames搜尋效能

Geonames資料集基於全球地名興趣點資料,包含約1,140萬條記錄,涵蓋地名、國家代碼、人口數量及地理座標等欄位,主要考察各產品的多類型查詢能力。其中,Geonames資料集規模遠小於HTTP logs和NYC taxis,寫入耗時短,PolarSearch 1.0版本寫入效能差異不顯著,不具備對比價值。因此Geonames測試重點聚焦於搜尋情境,通過覆蓋精確查詢、全文檢索索引、彙總統計、地理空間及指令碼評分等多個維度,全面評估各產品的查詢處理能力。

term — 精確詞項匹配

Geonames term(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

434

866

1615

2887

4433

5755

phrase — 全文短語匹配

考察全文檢索索引中的短語匹配能力,需要在倒排索引中校正詞項位置資訊,計算複雜度高於term查詢。

Geonames phrase(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

408

782

1341

2523

3737

4925

country_agg_uncached — terms 彙總 + 嵌套子彙總

對全量文檔執行terms彙總(按國家代碼分桶)+ 嵌套sum子彙總,彙總緩衝禁用以反映真實計算開銷。該任務是計算密集型彙總情境的代表,考察引擎在重彙總情境下的CPU利用效率。

Geonames country_agg_uncached(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

12

24.62

45

50.55

51

51

decay_geo_gauss_function_score — 地理距離衰減評分

基於geo_point欄位執行地理距離衰減函數評分查詢(Gaussian 衰減),綜合考察地理空間索引查詢效率與評分計算能力。

Geonames decay_geo_gauss(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

5

9.73

17

18.62

19

19

painless_static — Painless 指令碼自訂評分

使用Painless指令碼對每條文檔執行自訂評分計算,指令碼先行編譯後以靜態方式執行(static binding)。該任務考察引擎指令碼執行引擎(JIT 編譯)的計算吞吐,是高自訂評分情境的典型代表。

Geonames painless_static(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

5.52

10.85

19

20.89

21

21

desc_sort_population — doc values 數值排序

對全量文檔按population(整數類型)降序排序,返回前10條。按照doc values列式儲存完成排序。考察數值欄位列式讀取效率及top-N排序效能。

Geonames desc_sort_population(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 1.0

250

464

864

1451

1960

2469