CloudFrontキャッシュヒット率を調査するSQLの解説

利用目的

CloudFrontでは、アクセスログにキャッシュのヒット状況(Hit、Miss、Error)が記録されるので、その内容を元にキャッシュヒット率を計算した。
実際には、Athenaを利用して計算することになるが、使用したSQL文の解説をお願いした。

プロンプト

以下のSQLからどういったことがわかるか?
SELECT
    date, -- 日付
    SUM(CASE WHEN x_edge_response_result_type = 'Hit' THEN 1 ELSE 0 END) AS cache_hits, -- キャッシュヒット数
    SUM(CASE WHEN x_edge_response_result_type IN ('Hit', 'Miss') THEN 1 ELSE 0 END) AS total_requests, -- トータルリクエスト数
    (SUM(CASE WHEN x_edge_response_result_type = 'Hit' THEN 1 ELSE 0 END) * 100.0 /
     SUM(CASE WHEN x_edge_response_result_type IN ('Hit', 'Miss') THEN 1 ELSE 0 END)) AS cache_hit_rate -- キャッシュヒット率
FROM
    "cf_logs"."prod_standard_logs" -- データベース
WHERE
    date BETWEEN DATE '2024-03-01' AND DATE '2024-03-31' -- 調査する範囲を指定
    -- date BETWEEN DATE '2024-04-01' AND DATE '2024-04-30' -- 調査する範囲を指定
    -- date BETWEEN DATE '2024-05-01' AND DATE '2024-05-31' -- 調査する範囲を指定
    -- date BETWEEN DATE '2024-06-01' AND DATE '2024-06-30' -- 調査する範囲を指定
    AND x_edge_response_result_type IN ('Hit', 'Miss') -- エラーページの遷移は除外
GROUP BY
    date -- 日付毎にグループ化
ORDER BY
    date asc -- 日付でソート
;

プロンプトのポイント

SQL文を直張りした。

達成された成果

SQL文の解説がなされた。

使用上のヒントやアドバイス

SQLを直接指定した。

追加のリソースまたは参考情報

https://chatgpt.com/share/e/8e7ef315-7209-4bce-943d-1f0a89c2f421

レビューを書く
1
2
3
4
5
送信
     
キャンセル