全部產品
Search
文件中心

PolarDB:PolarSearch 3.0效能測試結果

更新時間:Apr 24, 2026

本文介紹PolarSearch 3.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 3.0

    129830

    216656

    345442

    528321

    552017

    551569

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

    HTTP logs Throughput(docs/s)

    Client 1

    Client 2

    Client 4

    Client 8(預設)

    Client 16

    Client 32

    PolarSearch 3.0

    189685

    326329

    577366

    880890

    957399

    951244

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 3.0

    92773

    134968

    222221

    321173

    335255

    336760

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

    NYC taxis Throughput(docs/s)

    Client 1

    Client 2

    Client 4

    Client 8(預設)

    Client 16

    Client 32

    PolarSearch 3.0

    139770

    222312

    370978

    555390

    601674

    598330

搜尋效能測試結果

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

HTTP logs搜尋效能

term - 倒排索引精確尋找

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

HTTP logs term(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 3.0

256

519

868

1361

1914

2592

asc_sort_timestamp - doc values排序

對全量文檔執行match_all + 按時間戳記升序排序,返回前10條。@timestamp為date類型,按照doc values列式儲存排序。考察PolarSearch 3.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 3.0

193

432

779

1020

1514

2073

range - 時間範圍掃描

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

HTTP logs range(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 3.0

219

494

893

1338

2005

2646

hourly_agg - 時序彙總

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

HTTP logs hourly_agg(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 3.0

48

145

251

315

339

346

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 3.0

271

612

1292

2326

3668

5531

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 3.0

161

441

906

1335

1723

1958

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 3.0

170

444

733

966

1117

1142

Geonames 搜尋效能

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

term - 精確詞項匹配

Geonames term(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 3.0

594

1118

2004

3871

5851

8186

phrase - 全文短語匹配

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

Geonames phrase(ops/s)

Client 1

Client 2

Client 4

Client 8

Client 16

Client 32

PolarSearch 3.0

481

1153

1686

3014

4719

6803

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 3.0

17

32.56

40.95

43.56

45

45

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 3.0

5.78

11.32

19

21

21.38

21.34

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 3.0

12

14

21

23.51

23.71

23.74

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 3.0

316

463

1047

1894

2577

3593