tencent cloud

Cloud Log Service

サンプリング分析

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:17
AI翻訳・品質チェック済み

操作シナリオ

統計分析機能を使用する際、元のログ件数が非常に多い場合や統計分析文(SQL)が複雑な場合、統計分析が遅くなったり、タイムアウトしたりすることがあります。このような場合、サンプリング分析機能を使用して元のログをサンプリングしてから、統計分析を行うことができます。
CLSはランダムサンプリング方式で元のログをサンプリングします。統計学の関連原理に基づき、合理的なサンプリングレートと十分なサンプル数のもとでは、サンプリング後の統計結果は全量の正確な統計と比較して誤差が小さく、ほとんどの大規模データの統計分析ニーズを満たすことができます。

サンプリング方式

統計分析はデフォルトで「正確な分析」、つまりサンプリングなしです。サンプリングが必要な場合は、次の2種類のサンプリング方法を選択できます:
自動サンプリング:元のログ件数に応じてサンプリングレートを自動的に決定し、サンプル数が約100万になるようにして、そのサンプルで統計分析を行います。例えば、元のログが100億件の場合、自動サンプリングを使用して100万サンプルを取得し、対応するサンプリングレートは1:10,000です。
固定サンプリングレートサンプリング:手動でサンプリングレートを設定し、そのサンプリングレートに基づいて元のログからサンプルを取得します。例えば、元のログが100億件の場合、1:100,000でサンプリングし、サンプル数は10万です。サンプリングレートの最大は1(つまりサンプリングなし)、最小は1:1000,000です。
どのサンプリング方式を採用しても、統計分析結果で最終的な実際のサンプリングレートを確認できます。

真の値の推定

サンプリング分析結果は実際の値を大きく反映することができます。値の計算方法に基づき、以下の方法を参照して実際の値を推定できます:
平均值関連の計算方法:例えばavg、geometric_meanなどは、サンプル統計結果を直接実際の値として表します。
和値関連の計算方法:例えばcount(*)、sum、count_ifなどは、サンプル統計結果をサンプリングレートで割って実際の値を表します。例えば、1:10,000のサンプリングレートでインターフェースpv(count(*))を統計し、サンプル統計結果が232の場合、実際の値は約232 / (1:10000) = 2320000です。
例えば1:10,000でサンプリングする場合、検索分析ステートメントは以下の通りです:
* | select count(*)/(1.0/10000) as pv,avg(response_time) as response_time_avg
pv計算:count(*)はログ件数を統計するもので、和値計算に属し、サンプル統計結果をサンプリングレートで割って実際の値を表す必要があります。このうち、(1.0/10000)がサンプリングレートであり、計算で得られたpvは実際のpvの推定値です。
response_time_avgの計算:avg(response_time)は応答時間response_timeの平均値を計算するもので、平均値計算に属し、そのまま実際のresponse_time_avgの推定値として使用できます。

サンプリング分析の精度

統計学では、信頼水準と信頼区間を使用してサンプリング結果の正確度を測定します。信頼水準はサンプリング結果の信頼度を表し、信頼区間は指定された信頼水準の下で実際の値が存在する区間を表します。例えば、あるサンプル統計結果の信頼水準が95%で、信頼区間が[212,478]の場合、実際の値は95%の確率で212 - 478の間に位置します。
信頼水準が高いほど、信頼区間は大きくなります。常用の信頼水準は95%です(統計学では一般的に確率が5%未満の場合は小確率事象とみなされます)。対応する信頼区間の計算方法は以下の通りです:


このうち、x̅ はサンプル平均値、s はサンプル標準偏差、n はサンプル数です。
例えば自動サンプリングを使用して統計分析を行います:
* | select avg(response_time) as x,count(response_time) as n,stddev_samp(response_time) as s
サンプル統計分析結果は以下の通りです:
x:サンプル平均値、544.4656932942215です。
n:サンプル数、995097です。
s:サンプル標準偏差、1382.618439585749です。
信頼水準が95%の場合、avg(response_time)の実際の値は[541.75,547.18]の範囲内にあります。一方、実際にはこのケースで正確な統計により得られたavg(response_time)は545.16であり、推定値は実際の値に非常に近いです。
説明:
以上は厳密なサンプリング正確度の測定方法です。実際の使用プロセスにおいて、サンプル数が1000より大きい場合、サンプリングで得られた結果は一般的に高い正確度を備えています。
ディメンション別に統計分析を行う場合(つまりgroup by)、サンプルは指定されたディメンションに従って複数のグループに分割され、各グループ内でそれぞれ統計値が計算されます。このとき、単一グループ内のサンプル数は総サンプル数より少なくなるため、サンプル数が少ないグループの統計値の正確度は低くなります。 例えばサンプリングを使用して統計分析を行います:
* | select avg(response_time) as response_time,count(*) as sampleCount,url group by url order by count(*) desc
サンプル統計分析結果は以下の通りです:
url
response_time
sampleCount
/user
45.23
7845
/user/list
78.45
6574
/user/login
45.85
5235
/user/logout
45.48
1245
/book/new
125.78
987
/book/list
17.23
658
/book/col
10.21
23
/order
12.13
2
このうち、/book/colと/orderの2つのurlはサンプル数が少なすぎるため、統計結果の正確度が低く、参考にはなりません。これら2つのurlについてより正確な統計結果を取得する必要がある場合は、全体のサンプリングレートを向上させるか、または個別に統計分析を行うことができます。例えば:
url:"/book/col" OR url:"/order" | select avg(response_time) as response_time,count(*) as sampleCount,url group by url order by count(*) desc

操作手順

1. CLSコンソールにログインします。
2. 左側のナビゲーションバーで検索分析をクリックし、ログトピック検索分析ページに移動します。
3. ページ上部で、検索分析が必要なログトピックを選択します。
4. 検索分析ステートメント(SQLを含む必要があります)を入力した後、右側の検索分析ボタンの左側でサンプリング分析の要否と対応するサンプリングレートを設定します。
インタラクティブモード:



ステートメントモード:



5. 右側の

をクリックして検索分析を実行します。検索分析が完了すると、チャート上部に今回の分析で使用されたサンプリングレートが表示されます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック