遅いSolrクエリーの収集

DataStax Enterprise Performance Serviceを使用して、遅いSolrクエリーを特定しやすくする手順。

solr_slow_sub_query_log_optionsパフォーマンス・オブジェクトは、指定された時間よりも長くかかった分散サブクエリー(分散シャードでのクエリー実行)を報告します。

デフォルトでは、すべてのオブジェクトが無効にされています。

dse.yamlファイルの場所は、インストールのタイプによって異なります。
Installer-Services /etc/dse/dse.yaml
パッケージ・インストール /etc/dse/dse.yaml
Installer-No Services install_location/resources/dse/conf/dse.yaml
tarボール・インストール install_location/resources/dse/conf/dse.yaml

手順

DataStax Enterprise Performance Serviceを使用して、遅いSolrクエリーを特定するには:

  1. 遅いSolrクエリーに関する情報の収集を恒久的に有効に設定するには、dse.yamlファイルを編集し、solr_slow_sub_query_log_optionsパラメーターのコメントを解除して、CQLのスロー・ログ設定の値を定義します。
    solr_slow_sub_query_log_options:
    enabled:true
    ttl_seconds: 604800
    async_writers: 1
    threshold_ms: 100
    デフォルトのパラメーター値で、リソース使用量が最小になります。
    オプション Determines
    enabled 起動時にオブジェクトが有効にされるかどうか。
    ttl_seconds パフォーマンス・オブジェクトから期限切れになる前にレコードを保持する秒数。
    async_writers 遅いログなどのイベント駆動オブジェクトの場合、これにより遅いクエリー記録の可能な回数が決まります。solr_result_cache_statsのようなオブジェクトは、バックグラウンドで更新されます。
    threshold_ms 遅いログの場合、サブクエリーを報告する遅さの基準レベル(単位はミリ秒)。
  2. 遅いSolrクエリーに関する情報収集の実行パラメーターを一時的に変更するには:

    情報の収集を一時的に有効にするには:

    $ dsetool perf solrslowlog enable
    情報の収集を一時的に無効にするには:
    $ dsetool perf solrslowlog disable
  3. CQL copyコマンドを使用して、遅いSolrクエリーをエクスポートできます。
    cqlsh:dse_perf> COPY solr_slow_sub_query_log ( date, commands, duration ) TO 'slow_solr_queries.csv' WITH HEADER = true;