インデクサーの速度調整
デフォルトでは、SearchWPのインデクサーは、サイトの動作が遅くならないように、可能な限り高速に実行するように構成されています。この構成の一部には、適切なデフォルト設定と、該当する場合のシステム監視(CPU/RAM使用量など)が含まれます。
サーバーがより高性能であると確信している場合は、SearchWPのインデクサーをより積極的に実行させるために使用できるフックがいくつかあります。
注意: SearchWPの設定画面の[高度な設定]タブには、インデクサーの積極性を低下させるチェックボックスが組み込まれています。この記事では、インデクサーをより積極的にする方法について説明します。
⚠️ 注意: 慎重に進めてください! ⚠️
これらの変更を行うと、インデックス作成プロセスによってサーバーリソースが完全に消費され、訪問者のトラフィックが中断される可能性があります。
エンジンソース属性の制限
インデックス作成プロセスを直接実験する前に、エンジンの設定を評価する価値があります。インデクサーが実行する必要のある作業が多いほど、時間がかかります。
たとえば、すべてのカスタムフィールドをインデックス化するために任意のメタキーを追加することは便利なことですが、それはあなたが意図したコンテンツだけでなく、サイト上のすべてのコードによって実装/使用されているメタも含む、すべての postmetaがインデックス化されることを意味します。多くの場合、メタデータは検索にまったく関係のないデータ/コンテンツを保存するために使用されるため、見直す価値があります。
さらに、インデクサーが行う作業を制限できるルールがあれば、それも検討する価値があります。SearchWPがインデックスを構築するために処理する必要のあるコンテンツが少ないほど、インデックスは速く構築されます。
インデクサーのバッチサイズの増加
SearchWPのインデクサーは、エントリをバッチ処理してインデックスを作成します。これにより、タイムアウトや潜在的なメモリの問題を回避できます。バッチごとに処理されるエントリ数を増やすと、SearchWPのインデクサーが少し速く実行されるのに役立ちます。
SearchWPのインデクサーで使用されるバッチサイズを制御するためのフックがあります:searchwp\indexer\batch_size
このバッチサイズを試して、SearchWPがインデクサーの反復ごとに処理するデータを増やすことができます。バッチサイズを過度に大きくすると、インデクサープロセスが失敗する可能性があることに注意してください。
インデクサーのスロットリングの無効化
SearchWPは、可能な場合はサーバーリソースの使用状況を監視します。インデックス作成中に現在のCPU負荷にSearchWPがどのように反応するかを調整するために使用できるフックがいくつかあります。
- 負荷監視の無効化
searchwp\background_process\load_monitoringフックを使用して、負荷監視を完全に無効にできます。- 最大負荷の調整
- SearchWPがCPU負荷を監視するときは、最大CPU負荷しきい値が超過したかどうかを確認します。この負荷のデフォルトは
2ですが、サーバーに多くのコアがある場合、このデフォルトは攻撃的すぎる可能性があります。searchwp\background_process\load_maximumフックを使用してしきい値を調整できます。 - CPU負荷しきい値超過時のスロットリング時間の調整
- CPU負荷が高すぎるとSearchWPが検出した場合、タイムアウト(秒単位)が挿入されます。このタイムアウトの期間をカスタマイズしたい場合は、
searchwp\background_process\load_throttleフックを使用できます。
注意して進めてください!
これらのフックを試すと、サーバーがSearchWPのインデックス作成プロセスによって完全に消費され、インデクサーの実行中にサイト訪問者のトラフィックが中断される可能性があることに注意してください。これらのフックの戻り値を段階的に調整することをお勧めします。

