現象の説明
Tencent Cloud CDNを使用後、ウェブページのアクセス速度が非常に遅いままです。
考えられる原因
原因1:接続されているドメイン名のCDNアクセラレーションサービスが有効化されていません。これはドメイン名のDNSプロバイダでCNAMEレコードを設定していないためである可能性があります。ドメイン名解決の確認を実行してください。 原因3:リソースへの初めてのアクセスで、そのリソースに対してプリフェッチ処理を実行していません。URLのプリフェッチを実行してください。 解決方法
ドメイン名解決をチェック
以下の内容は、nslookupコマンドを使用してCDNアクセラレーションドメイン名のDNS解決をクエリーする例です。
クエリーによるドメイン名解決で、上図の赤いボックスのサフィックスdnsv1.comを持つCNAME解決レコードがない場合は、接続したドメイン名のCDNアクセラレーションサービスが有効になっていないことを意味します。これはドメイン名DNSプロバイダでCNAMEレコードを設定していないためである可能性があります。CNAMEの設定ドキュメントに従い、ドメイン名のDNSプロバイダに移動してCNAMEレコードを設定することができます。
ノードキャッシュ有効期限設定をチェック
CDNコンソールにログインし、左側のメニューバーで【ドメイン名管理】を選択し、ドメイン名操作列の【管理】をクリックして、ドメイン名設定画面に入ります。Tabを【キャッシュ設定】に切り替えると、【ノードキャッシュ期限切れ設定】が表示されます。
アクセスしたリソースに対応するノードキャッシュルールをチェックし、ノードキャッシュの有効期限を0にした設定があるか、ノードキャッシュの有効期限が短すぎるか、またはキャッシュがないという状況が存在するかどうか確認します。
CDNノードにキャッシュがない場合は、アクセスリクエストはback-to-originとなり、アクセラレーションの効果を得られなくなります。ユーザーの必要に応じてノードのキャッシュ時間を設定することをお勧めします。
オリジンサーバーのキャッシュヘッダーCache-Controlがno-store/no-cache/privateに設定されているかどうか確認します。
オリジンサーバーのキャッシュヘッダーCache-Controlがno-store/no-cache/privateに設定されている場合、同時に「強制キャッシュ」を有効にしないと、CDNノードは設定したキャッシュ時間に基づくリソースのキャッシュを行いません。
「強制キャッシュ」を有効にしておらずオリジンサーバーのCache-Controlフィールドがno-cache/no-store/privateの場合は、キャッシュ時間を設定しても、CDNノードもリソースをキャッシュしません。
URLプリフェッチの実行
リソースへのアクセスが初めてで、そのリソースがプリフェッチ処理をされていない場合、CDNノードはback-to-originしてリソースをプルするため、初めてのアクセス速度が遅くても正常です。CDNコンソールにログインして、【パージとプリフェッチ】内でURLプリフェッチ機能を探し、URLプリフェッチを実行することを推奨します。
ウェブページアーキテクチャの最適化
ウェブページには動的リソースが比較的多く、アクセスするたびにback-to-originして最新のリソースをプルするため、アクセス速度に影響します。ウェブページの動的リソースの占める割合が多い場合は、オリジンサーバーを最適化して、動的リソースと静的リソースを分離し、CDN配信を使用して静的リソースの速度を上げることを推奨します。