IBM Cloud Docs
パフォーマンス

パフォーマンス

IBM Cloud® Databases for Elasticsearch デプロイメントは、使用状況に合わせてスケーリングすることも、特定のリソース条件のもとで自動スケールするように構成することも、Elasticsearch ノードをさらに増やして水平スケーリングすることもできます。 デプロイのパフォーマンスをチューニングする場合は、いくつかの要因を考慮してください。

デプロイメントのモニタリング

Databases for Elasticsearch デプロイメントは、デプロイメント上のリソース使用状況の基本モニタリングのための IBM Cloud® Monitoring サービスと統合されています。 デプロイメント上の自動スケーリングの構成に役立つように、ディスク使用量や IOPS などの使用可能メトリックの多くが表示されます。 使用状況の傾向を観察し、それに対応するように自動スケーリングを構成することにより、リソースの枯渇のためにデータベースが不安定になる前に、パフォーマンス上の問題を軽減することができます。

Elasticsearch のシャーディング

Elasticsearch に索引を追加すると、データがシャードに分割され、それらのシャードはクラスター内のノード間に分散されます。 このシャード構成により、Elasticsearch は、すべてのノードにわたってデータに対する並行操作を実行できます。 並行性とパフォーマンスを高めるために、 Elasticsearch クラスターにノードを追加します。 ノードを追加すると、クラスター全体で各シャードのバランスが自動的に再調整され、すべてのノード間にリソース使用量が分散されて、パフォーマンスが向上します。

メモリー管理

Elasticsearch メモリーは、JVM ヒープ・サイズとシステム・メモリーのカテゴリーに分類されます。 内部キャッシングにヒープが使用され、残りのシステム・メモリーはオペレーティング・システム、ファイル・システム・キャッシュ、ガーベッジ・コレクションに使用されます。 ヒープに割り振られるメモリーが多いほど、残りのシステムに割り振られるメモリーは少なくなります。

Databases for Elasticsearch デプロイメントのメモリー割り振りポリシーでは 50% がヒープ、50% がシステム・メモリーと設定されており、最大ヒープ・サイズは 32 GB です。 場合によっては、ヒープ制限があっても 64 GB RAM を超えてデプロイメントをスケーリングすると効果があることがあります。Elasticsearch がファイル・システム・キャッシュを利用するようになり、ディスク入出力使用に対する圧力が緩和されるからです。 ディスクI/Oの利用率が一定の閾値に達したときにメモリを増やすように、オートスケーリングを設定することができます。

ディスク IOPS

1 秒当たりの入出力操作数 (IOPS) は、ストレージ・ボリュームのタイプによって制限されます。 Databases for Elasticsearch デプロイメント用のストレージ・ボリュームは、1 GB ティア当たり 10 IOPS の Block Storage エンデュランス・ボリュームにプロビジョンされます。 IOPS 制限に達すると、データベースの応答が遅くなり、応答しないように見えることもあります。

索引付けではディスクが使用されるため、書き込みが高負荷になるユース・ケースの場合は、デプロイメントで使用可能な IOPS によって索引付けの速度が制限されることがあります。 ボトルネックによっては、ディスク使用量に合わせて索引を調整することによって改善できるものもあります。 また、作業データ・セットがファイル・システム・キャッシュに収まらない場合は、検索でディスクが使用され、IOPS 負荷が大きくなります。 ユース・ケースが大規模データ・セットの検索を伴う場合は、デプロイメント上のメモリーを増やすと、ディスクへの Elasticsearch の依存度を低くする効果があります。

もう 1 つ注意すべき点は、デフォルトの Lucene ファイル・システム管理ポリシーが niofs であることです。これによってファイルに対する並行読み取りが可能になりますが、これもディスク入出力制限の制約を受ける場合があります。 ファイル・システムのストレージ・タイプについては、Elasticsearch の資料を参照してください。

IOPS を増やす必要がある場合は、ディスク・スペースを大きくすることによって、デプロイメントが使用できる IOPS 数を増やすことができます。 ディスク入出力を増加させる索引付けや使用法の傾向を把握している場合は、IOPS に基づいてディスクを大きくするように自動スケーリングを構成できます。