すべてのプロダクト
Search
ドキュメントセンター

PolarDB:PolarSearch 3.0 のパフォーマンス

最終更新日:Apr 25, 2026

本トピックでは、HTTP ログ、NYC タクシー、Geonames の 3 種類の標準ワークロードを使用した PolarSearch 3.0 の OpenSearch Benchmark 結果を紹介します。

説明

詳細なテスト手順については、「PolarSearch ベンチマークパフォーマンステスト方法」をご参照ください。

書き込みパフォーマンス

書き込みテストでは、append-no-conflicts-index-only テストプロシージャを使用して、クラスターに全コーパスを一括書き込みし、同時書き込みクライアント数(bulk_indexing_clients)を変化させた際の書き込みスループット(docs/s)を評価します。各テストは空のインデックスから開始されます。

HTTP ログの書き込みパフォーマンス

このデータセットは、1998 年 FIFA ワールドカップの実際の Web サーバーアクセスログに基づいており、約 2 億 4,700 万件のログレコードを含みます。

  • テストシナリオ 1:6 シャード、1 レプリカ

    スループット (docs/s)

    Client 1

    Client 2

    Client 4

    Client 8 (デフォルト)

    Client 16

    Client 32

    PolarSearch 3.0

    129830

    216656

    345442

    528321

    552017

    551569

  • テストシナリオ 2:6 シャード、0 レプリカ

    スループット (docs/s)

    Client 1

    Client 2

    Client 4

    Client 8 (デフォルト)

    Client 16

    Client 32

    PolarSearch 3.0

    189685

    326329

    577366

    880890

    957399

    951244

NYC タクシーの書き込みパフォーマンス

このデータセットには、2015 年のニューヨーク市タクシー乗車記録から抽出された約 1 億 6,500 万件のレコードが含まれます。

  • テストシナリオ 1:6 シャード、1 レプリカ

    スループット (docs/s)

    Client 1

    Client 2

    Client 4

    Client 8 (デフォルト)

    Client 16

    Client 32

    PolarSearch 3.0

    92773

    134968

    222221

    321173

    335255

    336760

  • テストシナリオ 2:6 シャード、0 レプリカ

    スループット (docs/s)

    Client 1

    Client 2

    Client 4

    Client 8 (デフォルト)

    Client 16

    Client 32

    PolarSearch 3.0

    139770

    222312

    370978

    555390

    601674

    598330

検索パフォーマンス

検索テストは書き込み操作完了後に実行され、replica=1 および target_throughput=0(フルスピードストレステストモード)で実施されます。これにより、CPU 負荷が最大になった状態での検索スループット(ops/s)の上限値を評価します。

HTTP ログの検索パフォーマンス

term - 完全一致検索

このテストでは、logs-* インデックスに対して完全一致検索を実行します。各クエリは固定で 10,000 ドキュメントにヒットし、デフォルトの 10 ドキュメントを返します。このテストでは、転置インデックスの検索効率、シャード間のファンアウトおよびマージ処理のオーバーヘッド、および PolarSearch 3.0 のコーディネートノードの処理能力を評価します。

HTTP ログ 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 value ソート

このテストでは、すべてのドキュメントに対して match_all クエリを実行し、タイムスタンプの昇順でソートして上位 10 件を返します。@timestamp フィールド(日付型)は、カラムナーストレージに基づく doc values を使用してソートされます。このテストでは、doc values の読み取り効率、トップ N ヒープソートの実行効率、および PolarSearch 3.0 のコーディネートノードにおける結果マージ性能を評価します。

HTTP ログ 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 フィールドに対して動的なタイムウィンドウ範囲クエリを実行します。ログ分析プロダクトのクエリの 90 % は時間フィルターを含むため、このタスクでは日付範囲クエリの効率を測定します。これは term テストと対比され、範囲クエリとポイントクエリのパフォーマンスを比較するものです。

HTTP ログ 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 - 時系列集約

このテストでは、すべてのドキュメントを対象に 1 時間単位でバケット化する date_histogram 集約を実行します。これは日付型フィールドに対する集約スループットを測定するものであり、ログモニタリングや統計分析シナリオにおけるコア操作です。

HTTP ログ 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 タクシーの検索パフォーマンス

match-all - ベースラインディスパッチ

このテストでは、約 1 億 6,500 万件のレコードに対して match_all クエリを実行し、ソートや集約を行わずにデフォルトの 10 件の結果のみを返します。これにより、エンジンのリクエスト解析、シャードへのディスパッチ、および結果のシリアル化のベースライン効率を測定します。

NYC タクシー 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 タクシー 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 タクシー 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 データセットには、世界中のポイント・オブ・インタレスト(POI)に関する約 1,140 万件のレコードが含まれており、地名、国別コード、人口、地理座標などのフィールドがあります。このデータセットを使用して、さまざまなクエリタイプのパフォーマンスを評価します。Geonames データセットは HTTP ログおよび NYC タクシーデータセットと比べてはるかに小さいため、書き込み時間が短く安定しており、書き込みパフォーマンスの比較は実用的ではありません。そのため、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 - フレーズクエリ

このテストでは、全文検索におけるフレーズクエリ機能を評価します。転置インデックス内の語位置情報を検証する必要があるため、完全一致検索よりも計算量が多くなります。

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 フィールドに対してガウス距離減衰を使用した function score クエリを実行します。これにより、ジオ空間インデックスのクエリ効率とスコアリング性能の両方を評価します。

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 スクリプトを使用して各ドキュメントに対してカスタムスコア計算を実行します。スクリプトは事前にコンパイルされ、静的バインドを使用して実行されます。このタスクでは、スクリプトエンジン(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 value ソート

このテストでは、population フィールド(整数型)で全ドキュメントを降順にソートし、上位 10 件の結果を返します。ソートはカラムナーストレージに基づく doc values を使用して実行されます。このテストでは、カラムナー数値フィールドの読み取り効率およびトップ 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