Bu makalede CDN performans optimizasyonuna yönelik sorun giderme yöntemleri belirtilere göre özetlenmiştir: yavaş erişim, Gzip sıkıştırması ve sayfa optimizasyonunun etkili olmaması, parametre yok sayma yapılandırmasındaki istisnalar ve daha fazlası.
Belirti hızlı başvurusu
Sorun giderme yönünü hızlıca belirlemek için aşağıdaki tabloyu kullanın:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Not: Belirtinin yukarıdaki kategorilerden hangisine ait olduğunu belirleyemiyorsanız önce kapsamı ve önbellek isabet durumunu onaylayın; önbellek isabet oranı optimizasyonu gibi bitişik konular için İlgili belgeler bölümüne bakın.
Sorun gidermeden önce hazırlık
Performans sorunları birçok faktörden etkilenir. Sorun gidermeye başlamadan önce isteğin gerçekten CDN üzerinden geçtiğini onaylayın ve kök nedeni daraltmak için kontrol grupları oluşturun.
İsteğin gerçekten CDN üzerinden geçtiğini onaylayın
Aşağıdaki temel bilgileri toplamanızı öneririz:
Tam URL, sorunun yeniden oluştuğu zaman ve saat dilimi;
Kullanıcı ülkesi veya bölgesi, ISS ve istemci genel IP'si;
LocalDNS veya diğer çözücü;
CNAME zinciri, son A/AAAA kayıtları ve gerçekten bağlanılan IP;
Hızlandırılan etki alanı, kaynak türü, hızlandırma bölgesi ve ICP kayıt durumu;
Son 24 saat içinde DNS, sertifika, önbellek, kaynak, sıkıştırma ve içerik dağıtımındaki değişiklikler.
Not: Yalnızca ping kullanmak HTTPS isteklerinin doğru şekilde CDN üzerinden geçtiğini kanıtlamaz. Ping ICMP'yi ölçer ve düğümler ICMP'yi kısıtlayabilir. DNS, TCP, TLS ve HTTP'yi birlikte doğrulayın.
Kontrol grupları oluşturun
Kök neden analizini kolaylaştırmak için aşağıdaki kontrol gruplarını oluşturmanızı öneririz:
Normal bölge ile anormal bölge;
Normal ISS ile anormal ISS;
IPv4 ile IPv6 (etki alanı için etkinse);
CDN düğümlerine erişimin etkisi ile doğrudan kaynağa erişimin etkisi;
Farklı sorgu parametreleri ve farklı
Accept-Encodingdeğerleri içeren tek değişkenli istekler;Aynı URL için ardışık GET istekleri.
Not: GET isteğinin önbelleğe alma ve gövde davranışı hakkında sonuç çıkarmak için tek bir HEAD isteği kullanmayın. Bazı kaynaklar veya proxy'ler HEAD ve GET isteklerini farklı şekilde işler.
Erişim etkisini toplayın
Tekrarlanabilir bir sorun giderme süreci en azından aşağıdaki bilgileri kaydetmelidir:
UTC saati, istemci bölgesi ve ISS, maskelenmiş istemci IP'si
<CLIENT_IP>, LocalDNS;İstek URL'si, istek yöntemi, durum kodu, yönlendirme zinciri;
DNS sonucu, gerçekten bağlanılan düğüm IP'si;
X-Cache,X-Swift-CacheTime,Age(varsa),Via;Cache-Control,Pragma,Expires,ETag,Last-Modified,Vary;Content-Type,Content-Length,Content-Encoding,Accept-Ranges,Content-Range;DNS, TCP, TLS, TTFB, indirme ve toplam süre;
Aynı isteğin ilk CDN GET'i, tekrarlanan GET'i, belirtilen düğüm GET'i ve doğrudan kaynak GET'i için karşılaştırma sonuçları.
Komut satırı erişimi
Erişim süresi dökümü: GET tercih edin; HEAD'i yalnızca yardımcı olarak kullanın çünkü kaynak işleme, WAF kuralları veya HEAD için önbellek yolları GET'ten farklı olabilir.
curl -sS -D /tmp/cdn-headers.txt -o /dev/null \
-w 'remote_ip=%{remote_ip}\nhttp_code=%{http_code}\ntime_namelookup=%{time_namelookup}\ntime_connect=%{time_connect}\ntime_appconnect=%{time_appconnect}\ntime_starttransfer=%{time_starttransfer}\ntime_total=%{time_total}\nsize_download=%{size_download}\n' \
"https://<CDN_DOMAIN>/<RESOURCE_PATH>"
Zaman dökümü:
DNS:
time_namelookup;TCP:
time_connect - time_namelookup;TLS:
time_appconnect - time_connect;İstek gönderme, CDN düğümü işleme, kaynak çekimi ve kaynak: çoğunlukla
time_starttransfer - time_appconnectiçinde yansıtılır;İndirme:
time_total - time_starttransfer.
Not: Yüksek TTFB yalnızca ilk bayt için uzun bekleme süresi olduğunu gösterir; doğrudan kaynağın yavaş olduğunu kanıtlamaz. Önbellek durumu, tekrarlanan istekler, CDN izleme ve kaynak günlükleriyle birlikte değerlendirin.
Ölçümler ve ilgili sorunlar:
Yüksek DNS: Çözücü, CNAME, A/AAAA, TTL ve bölgesel farklılıkları kontrol edin.
Yüksek TCP: Yönlendirme, paket kaybı, düğüm mesafesi ve ISS bağlantılarını kontrol edin.
Yüksek TLS: SNI, sertifika zinciri, TLS sürümü ve protokol anlaşmasını kontrol edin.
Yüksek TTFB: Önbellek durumu, CDN işleme, kaynak zinciri ve kaynak uygulamasını kontrol edin.
Yüksek indirme: Kaynak boyutu, aktarım hızı, sıkıştırma, görüntü veya video kodlamasını kontrol edin.
Ağ aşamaları normal ancak sayfa hala yavaş: Tarayıcı Kuyruğa Alma (Queueing), render engelleme, LCP, INP, üçüncü taraf kaynakları ve ana iş parçacığı görevlerini kontrol edin.
Karşılaştırma için belirli bir CDN düğümüne bağlanın:
curl -sS -D - -o /dev/null \
--resolve "<CDN_DOMAIN>:443:<CDN_NODE_IP>" \
"https://<CDN_DOMAIN>/<RESOURCE_PATH>"
Doğrudan kaynağa erişerek erişim etkisini doğrulayın:
curl -sS -D - -o /dev/null \
--resolve "<CDN_DOMAIN>:443:<ORIGIN_IP>" \
"https://<CDN_DOMAIN>/<RESOURCE_PATH>"
Sıkıştırma anlaşmasını doğrulayın:
curl -sS -D - -o /dev/null \
-H 'Accept-Encoding: gzip, br' \
"https://<CDN_DOMAIN>/<RESOURCE_PATH>"
Aralığı (Range) doğrulayın:
curl -sS -D - -o /dev/null \
-H 'Range: bytes=0-1023' \
"https://<CDN_DOMAIN>/<LARGE_RESOURCE_PATH>"
Aynı GET'i tekrarlayın ve istek başına önbellek durumu ile gecikme süresini karşılaştırın:
curl -sS -D - -o /dev/null "https://<CDN_DOMAIN>/<RESOURCE_PATH>"
curl -sS -D - -o /dev/null "https://<CDN_DOMAIN>/<RESOURCE_PATH>"
Tarayıcı erişimi
Tarayıcı Ağ panelinde yerel önbelleği devre dışı bırakın ve sorunu çoğaltın.
Zamana göre sıralayın ve yavaş URL'lerin gerçekten CDN üzerinden geçip geçmediğini onaylayın.
Zamanlama içinde Kuyruğa Alma (Queueing), Duraksama (Stalled), DNS, İlk bağlantı, SSL, Bekleme (TTFB) ve İçerik İndirme değerlerini kontrol edin.
Ana belge ile bağımlı kaynakları arasındaki şelale ilişkisini kaydedin.
DNS sorguları aracılığıyla çözümleme sonuçlarını onaylayın ve yolu MTR/traceroute üzerinden gözlemleyin.
Çok bölgeli araştırma aynı URL'yi ve zaman penceresini kullanmalıdır.
Yavaş erişim
İstemci-düğüm arası ağ kalitesinin düşük olması veya zamanlama anomalisinin yaşanması
Belirti: Hızlandırılan etki alanına yapılan ping yüksek gecikme süresi veya paket kaybı gösteriyor; belirli bir bölgedeki veya belirli bir ISS'deki kullanıcılar yavaş erişim yaşıyor; kullanıcılar uzak düğümlere yönlendiriliyor.
Olası nedenler ve sorun giderme:
Yanlış hızlandırma bölgesi ayarı: Hızlandırma bölgesi "Yalnızca Anakara Çin" olarak ayarlandığında, denizaşırı kullanıcılar anakara Çin düğümlerine yönlendirilir; "Global (Anakara Çin hariç)" olarak ayarlandığında, anakara Çin kullanıcıları denizaşırı düğümlere yönlendirilir. Kullanıcı dağılımına göre hızlandırma bölgesini doğru kapsama ayarlayın (örneğin, "Global").
Etki alanı ICP kaydını tamamlamamış: Kayıtsız etki alanları yalnızca "Global (Anakara Çin hariç)" seçeneğini seçebilir. Anakara Çin kullanıcıları denizaşırı düğümler üzerinden eriştiğinde bağlantı daha uzun olur ve hız memnuniyet vermeyebilir. Anakara Çin kullanıcıları için hızlandırma sağlamak üzere lütfen önce ICP kaydını tamamlayın; kayıt mümkün değilse, anakara Çin kullanıcılarının denizaşırı sitelere erişimindeki gecikmeyi azaltmak için Edge Security Acceleration (ESA) kullanmayı düşünün.
Yanlış istemci DNS ayarları: Örneğin, ABD DNS'i kullanan bir Tokyo kullanıcısı yakın bir düğüm yerine bir ABD düğümüne yönlendirilebilir. Kullanıcıyı konumuna ve ISS'sine karşılık gelen bir DNS kullanacak şekilde yönlendirin.
Bölgesel ISS ağ dalgalanması: Hızlandırma bölgesi ve DNS doğru olduğunda ancak erişim hala yavaş olduğunda, gecikmenin gerçekleştiği belirli bağlantı segmentini onaylamak için traceroute ve MTR bilgilerini toplayın; kullanıcının isteğinin ulaştığı düğüm IP'sine bağlanarak test yapın ve düğümün kendisinin normal yanıt verip vermediğini onaylayın, ardından daha fazla analiz için önbellek isabet durumu ve kaynak boyutunu birleştirin.
Düşük önbellek isabet oranı veya sık kaynak çekimi nedeniyle yavaş erişim
Belirti: Yanıt üstbilgisinde X-Cache değeri MISS, X-Swift-CacheTime değeri 0; yüksek kaynak yükü ve yüksek kaynak trafiği; ilk erişim doğrudan kaynağa erişimden daha yavaş.
Yaygın nedenler ve optimizasyon çözümleri:
İlk erişimde önbellek yok: Düğüm ilk yanıtta verileri kaynaktan çekmek zorundadır. Kaynak içeriğini CDN düğümlerine proaktif olarak önceden getirmek için URL önceden getirme özelliğini kullanmanızı öneririz; bkz. Kaynakları temizleme ve önceden getirme.
Düşük trafik ve yetersiz dosya popülerliği: Düğüm önbelleği, popülerliğe göre en az popüler öğeleri evikt eder; düşük trafikli kaynaklar daha erken evikt edilir. Düşük trafikli senaryolarda önbellek süresini uygun şekilde uzatabilir veya popülerliği korumak için önceden getirmeyi kullanabilirsiniz.
-
Mantıksız önbellek yapılandırması:
Önbellek kuralı yapılandırılmadığında ve statik dosyalar ETag ve Last-Modified yanıt üstbilgilerini döndürmediğinde dosya önbelleğe alınamaz. Lütfen bu iki yanıt üstbilgisini kaynakta ekleyin veya CDN tarafında önbellek kuralları yapılandırın; bkz. CDN önbellek sona ermesini yapılandırma.
Önbellek kuralı yapılandırılmadığında varsayılan önbellek ilkesi kullanılır ve maksimum önbellek süresi 3600 saniyeyi aşmaz, bu da sık sona ermelere ve kaynak çekimlerine kolayca yol açar. Lütfen iş sürecinize göre makul bir önbellek süresi ayarlayın.
Kaynak yanıt üstbilgisi
s-maxage=0,max-age=0,no-cache,no-store,privateveyaPragma: no-cachedeğerlerinden herhangi birini içerdiğinde, önbellek kuralları yapılandırılmış olsa bile içerik önbelleğe alınmaz. Lütfen kaynak yanıt üstbilgisini önbelleklenebilir bir değere (örneğin public) değiştirin veya CDN önbellek kuralında Ignore Origin No-Cache Header özelliğini etkinleştirin.
URL değişken parametreler taşıyor: Farklı parametrelere sahip URL'ler aynı dosyaya eriştiğinde, CDN bunları farklı kaynaklar olarak kabul eder ve ayrı ayrı kaynaktan çeker. Lütfen parametreleri yok say özelliğini etkinleştirin; bkz. Parametreleri yok say.
Büyük dosyaların kaynaktan çekilmesi yavaş: Büyük dosya senaryoları için kaynak çekimi verimliliğini optimize etmek amacıyla Aralık (Range) kaynak çekimini etkinleştirmenizi öneririz; bkz. Aralık kaynak çekimini yapılandırma.
Sık önbellek yenileme: Sık URL veya dizin önbellek yenileme, düğüm önbelleğinin geçersiz kalmasına ve isabet oranının düşmesine neden olur. Lütfen içerik güncellendiğinde yalnızca etkilenen kaynakları yenileyin.
Doğrulama yöntemi: Ana bilgisayarlar dosyasında kullanıcı etki alanını kaynak IP'sine bağlayın ve doğrudan erişin, ardından hızlandırma etkisini doğrulamak ve darboğazın kaynak çekiminde mi yoksa dağıtım bağlantısında mı olduğunu onaylamak için yükleme süresini CDN erişimiyle karşılaştırın. Daha fazla isabet oranı optimizasyon stratejisi için bkz. Önbellek sorun giderme.
Yavaş dinamik istekler
Belirti: API arayüzleri gibi dinamik içerik yavaş; statik kaynaklar hızlı ancak genel sayfa yavaş yükleniyor.
Neden: CDN, gerçek zamanlı olarak değişen dinamik içeriği önbelleğe alamaz. Dinamik istekler her seferinde kaynak sunucuya iletilir, bu nedenle CDN önbellek hızlandırmasının bunlar üzerinde etkisi yoktur. Kaynağın kendisi yavaşsa dinamik istekler de eşzamanlı olarak yavaşlar.
Çözüm:
Kaynakta statik ve dinamik içeriği ayırın: statik kaynaklar için CDN ile hızlandırılan bir etki alanı, dinamik istekler için doğrudan kaynağı çözen bir etki alanı kullanın.
Rota optimizasyonu, aktarım optimizasyonu ve diğer teknolojiler aracılığıyla dinamik istekleri hızlandırmak ve kaynak zincirini kısaltmak için Edge Security Acceleration (ESA) kullanın. Dinamik hızlandırmanın bağlantı optimizasyonu olduğunu unutmayın; kaynak sunucusunun kendisi yavaşsa kaynak yine de optimize edilmelidir.
Ülke veya sınır ötesi kaynak çekiminin yavaş olması
Belirti: Kaynak ve birincil kullanıcılar farklı ülkelerde veya bölgelerde bulunduğunda, kaynak çekim kalitesi dalgalanır, kaynak çekimi yavaş olur ve kaynak hata oranı yükselir; bu durum önbelleği ve içerik dağıtımını etkiler.
Neden: Sınır ötesi kaynak çekimi, deniz altı kablo kapasitesinden ve ülkeler arasındaki genel ağ tıkanıklığından etkilenir.
Çözüm: İlgili ülkedeki kaynak için hedefe yönelik hızlandırma sağlamak amacıyla Global Accelerator (GA) kullanın ve önbellek isabet olmadığında kaynak çekim kalitesini artırmak için CDN bölgesine özgü kaynak çekim ilkelerini yapılandırın. GA, ECS, ALB ve OSS gibi kaynak türlerini destekler ve GA ve CDN ile kaynak dönüşünü hızlandırma gibi çözümler sunar.
Web sitesi ana sayfasının yavaş yüklenmesi
Belirti: Ana sayfa isteği Ağ'da uzun süre Beklemede (Pending) durumunda kalır; ana sayfa döndükten sonra statik kaynaklar hızlı yüklenir.
Neden: Ana sayfa genellikle dinamik bir kaynaktır veya önbelleklenemez olarak yapılandırılmıştır, bu nedenle her ziyaret kaynağa geri döner. Kaynak yanıtı yavaş olduğunda ana sayfa isteği engellenir ve ana sayfa HTML'si tarafından referans verilen resimler, JS ve CSS gibi sonraki kaynaklar yüklenmeye başlayamaz.
Çözüm: Yanıt üstbilgileri aracılığıyla ana sayfanın önbelleğe isabet edip etmediğini önce onaylayın; isabet etmiyorsa önbellek yapılandırmasını Düşük önbellek isabet oranı veya sık kaynak çekimi nedeniyle yavaş erişim bölümüne göre sorun giderin; kaynak yanıtı yavaşsa kaynak performansını optimize edin veya statik/dinamik ayrımı benimseyin.
Büyük kaynakların yavaş yüklenmesi
Belirti: İçerik İndirme, Zamanlama içinde büyük bir oran kaplar; sayfa kaynaklarının toplam boyutu büyüktür.
Çözüm: Dosya boyutunu azaltmak ve yükleme hızını artırmak için performans optimizasyonu özelliklerini (akıllı sıkıştırma, sayfa optimizasyonu vb.) etkinleştirin; bkz. Performans optimizasyonu. Akıllı sıkıştırma aşağıdaki formatları destekler: text/xml, text/plain, text/css, application/javascript, application/x-javascript, application/rss+xml, text/javascript, image/tiff, image/svg+xml, application/json, application/xml.
Sıkıştırma ve sayfa optimizasyonunun çalışmaması
Kaynak çekimi sonrası Gzip sıkıştırmasının çalışmaması
Belirti: Kaynakta (örneğin Nginx) Gzip sıkıştırması etkinleştirilmiş ve istemci doğrudan kaynağa eriştiğinde yanıt üstbilgisi Content-Encoding: gzip döndürüyor; istek üstbilgisi Accept-Encoding: gzip, deflate taşıyorken CDN üzerinden erişildiğinde yanıt üstbilgisi yalnızca Content-Length döndürüyor ve içerik sıkıştırılmamış oluyor.
Neden: CDN kaynak çekim istekleri, isteğin bir proxy sunucusundan geldiğini tanımlamak için Via istek üstbilgisini taşır. Nginx ngx_http_gzip_module modülü, proxy istekleri için sıkıştırmanın etkin olup olmadığını kontrol etmek üzere gzip_proxied yapılandırmasını kullanır. Bu yapılandırmanın varsayılan değeri off'tur, bu nedenle CDN'den gelen kaynak çekim istekleri sıkıştırılmış içerik döndürmez.
Çözüm:
Nginx yapılandırma dosyasında (http, server veya location bloğu, hangisi geçerliyse)
gzip_proxied anyayarlayın, böylece proxy sunucularından gelen tüm istekler sıkıştırılır.Yapılandırmanın doğru olduğunu onaylamak için
nginx -tkomutunu çalıştırın, ardından yapılandırmayı yeniden yüklemek içinnginx -s reloadkomutunu çalıştırın.CDN üzerinden erişin ve yanıt üstbilgisinin
Content-Encoding: gzipiçerdiğini onaylayın.
Doğrulama yöntemi: Kaynağa karşı doğrudan curl ile test edin — Via üstbilgisi gönderilmediğinde Content-Encoding: gzip döndürür; proxy isteğini simüle etmek için -H 'Via:xxx' eklendiğinde yalnızca Content-Length döndürür. Bu, sorunun gzip_proxied yapılandırmasından kaynaklandığını doğrular.
Not: Brotli sıkıştırması çalışmadığında sorun giderme yaklaşımı aynıdır — Via istek üstbilgisi veya gzip_proxied benzeri yapılandırma nedeniyle kaynağın proxy istekleri için sıkıştırılmış içerik döndürmeyi reddedip etmediğini onaylayın ve Gzip ile ilgili yapılandırmayı karşılık gelen Brotli yapılandırmasıyla değiştirin.
Sayfa optimizasyonu ile denge: Sayfa optimizasyonunu da etkinleştirirseniz kaynak sıkıştırması ile sayfa optimizasyonunun birbirini dışladığını unutmayın; CDN, kaynak sıkıştırılmış içerik döndürdüğünde sayfa optimizasyonu gerçekleştiremez. İş önceliğine göre kaynak sıkıştırması (kaynak bant genişliğini tasarruf ettirme) ile sayfa optimizasyonu (HTML boyutunu azaltma) arasında seçim yapın.
Hem sayfa optimizasyonu hem de Gzip sıkıştırması etkinleştirildiğinde sayfa optimizasyonunun çalışmaması
Belirti: Sayfa optimizasyonu etkin. Accept-Encoding istek üstbilgisi olmadan curl gönderildiğinde döndürülen HTML optimize edilmiş; ancak varsayılan olarak Accept-Encoding: gzip gönderen bir tarayıcıdan erişildiğinde döndürülen içerik sayfa optimizasyonuna tabi tutulmamış.
Neden:
Kaynak Gzip ile sıkıştırılmış içerik döndürüyor: Tarayıcılar varsayılan olarak Accept-Encoding: gzip istek üstbilgisini taşır ve CDN kaynaktan çekerken bu üstbilgiyi iletir. Kaynakta Gzip etkinleştirildiğinde sıkıştırılmış içerik döndürür. CDN düğümleri, sayfa optimizasyonu gerçekleştirmeden önce kaynak tarafından zaten sıkıştırılmış içeriğin sıkıştırmasını açmaz, bu nedenle kaynak sıkıştırılmış içerik döndürdüğünde sayfa optimizasyonu etkili olamaz.
CDN akıllı sıkıştırması sayfa optimizasyonunu engellemez: CDN akıllı sıkıştırması sayfa optimizasyonundan sonra çalışır; ikisi çelişmez. Bu belirti yalnızca kaynak zaten sıkıştırılmış içerik döndürdüğünde ortaya çıkar — kaynak önceden sıkıştırması CDN'in sayfa optimizasyonu gerçekleştirmesini engeller ve CDN tarafındaki akıllı sıkıştırma ile ilgili değildir.
Çözüm:
Seçenek 1: Kaynağın CDN kaynak çekim istekleri için Gzip ile sıkıştırılmış içerik döndürmediğinden emin olun. Nginx kaynakları için, proxy sunucularından gelen isteklerin sıkıştırılmış içerik döndürmemesi amacıyla
gzip_proxiedparametresini değiştirin.Seçenek 2: CDN yapılandırmasında, kaynak HTTP istek üstbilgisinden Accept-Encoding'i kaldırın, böylece kaynak sıkıştırılmamış içerik döndürür ve CDN sayfa optimizasyonu gerçekleştirir.
Not: Kaynak sıkıştırılmış içerik döndürmeyi durdurduktan sonra, CDN akıllı sıkıştırma özelliği aracılığıyla istemci yanıtını sıkıştırabilir ve hem sayfa optimizasyonu hem de iletim sıkıştırması elde edilebilir.
Parametreleri yok say istisnaları
Parametreleri yok say özelliği etkinleştirildikten sonra iş süreçlerinde yaşanan istisnalar
Belirti: Parametreleri yok say özelliği etkinleştirildikten sonra kimlik doğrulama başarısız oluyor, kullanıcı verileri karışıyor, yanlış önbelleğe alınmış içerik döndürülüyor veya görüntü işleme geçersiz hale geliyor.
Neden: Parametreleri yok say özelliği etkinleştirildikten sonra, CDN farklı parametrelere sahip istekleri önbelleğe alma amacıyla aynı kaynak olarak kabul eder. Aşağıdaki URL parametre türleri genel olarak yok sayılmamalıdır:
Kullanıcı kimlik tanımlayıcıları (UID, Token, Session ID gibi): Bunların yok sayılması kimlik doğrulama hatasına veya kullanıcı verilerinin karışmasına neden olur.
Dinamik içerik farklılaştırması (sürüm
?v=1, sayfa numarası?page=2gibi): Bunların yok sayılması yanlış önbelleğe alınmış içeriğin döndürülmesine neden olur.Kaynak işleme yönergeleri (OSS görüntü işleme parametresi
x-oss-processgibi): Bunun yok sayılması işleme parametresini geçersiz kılar ve işlem görmemiş orijinal kaynağı döndürür.
Sorun giderme ve çözüm:
Parametreleri yok say yapılandırmasını silin veya devre dışı bırakın.
Kenar düğümlerdeki eski önbelleği temizlemek için önbellek yenileme (URL yenileme veya dizin yenileme) gerçekleştirin.
Bazı parametrelerin korunması gerekiyorsa belirtilen parametreleri koru modunu kullanın ve anahtar parametreleri (
x-oss-process,tokengibi) korunacak şekilde ayarlayın. Parametreleri yok say özelliği hakkında ayrıntılı bilgi için bkz. Parametreleri yok say.
Değişiklikten sonra parametre yok sayma yapılandırmasının etkili olmaması
Belirti: Parametre yok sayma yapılandırması değiştirildikten sonra erişim hala anormal veya kaynak trafiği azalmamış.
Neden: Yapılandırma değiştirildikten sonra, kenar düğümlerde zaten önbelleğe alınmış dosyalar otomatik olarak güncellenmez; eski önbellek hala eski ilkeye göre yanıt verir.
Sorun giderme adımları:
Yapılandırmanın kaydedildiğini onaylayın: CDN konsoluna giriş yapın, parametreleri yok say yapılandırma sayfasını yeniden açın ve mevcut yapılandırmanın beklenen durumla eşleştiğini onaylayın.
Özel Önbellek Anahtarı ile çakışma olup olmadığını kontrol edin: Özel Önbellek Anahtarı, parametreleri yok say yapılandırmasını geçersiz kılar. Özel Önbellek Anahtarı etkinse parametreleri yok say yapılandırması etkili olmaz. Lütfen ikisinin aynı anda etkinleştirilmediğini onaylayın.
Önbellek yenileme gerçekleştirin: Kaynakları temizleme ve önceden getirme sayfasında URL yenileme veya dizin yenileme gerçekleştirin. Yeni yapılandırma yalnızca eski önbellek temizlendikten sonra tamamen etkili olabilir.
Yapılandırma etkisini doğrulayın:
curl -I "tam URL"komutunu çalıştırın ve önbellek isabet durumunun beklentileri karşıladığını onaylamak içinX-Cacheyanıt üstbilgisini kontrol edin.
Hatalı OSS görüntü işleme veya video kare yakalama içeriği
Belirti: OSS görüntü işleme (örneğin x-oss-process=image/resize,w_200) veya video kare yakalama kullanıldığında, erişim işlem görmemiş orijinal resmi veya videoyu döndürür veya farklı işleme parametrelerine sahip istekler aynı içeriği döndürür.
Neden: CDN etki alanı için parametreleri yok say özelliği etkinleştirildikten sonra, orijinal resim bağlantısı ile işleme parametreleri içeren bağlantı aynı kaynak olarak önbelleğe alınır ve bu da hatalı içeriğe neden olur.
Çözüm: CDN konsolu parametreleri yok say yapılandırmasında, x-oss-process parametresini belirtilen parametreleri koru moduna ayarlayın, böylece görüntü işleme parametreleri içeren URL'ler ayrı olarak önbelleğe alınır ve orijinal resim önbelleğiyle çakışmaz. Yapılandırmayı değiştirdikten sonra önbelleği yenileyin (bkz. Değişiklikten sonra parametre yok sayma yapılandırmasının etkili olmaması).
Parametreleri yok say özelliği etkinleştirildikten sonra tutarsız önbellek isabet durumu
Belirti: Parametreleri yok say özelliği etkin ancak istemciler arasında önbellek isabet durumu tutarsız; bazı istekler X-Cache MISS gösteriyor.
Olası nedenler:
URL yok sayılmayan dinamik kimlik doğrulama parametreleri taşıyor: Örneğin, URL'de
auth_keyve diğer kimlik doğrulama parametreleri korunacak şekilde ayarlanmış. Her isteğin farklı bir kimlik doğrulama değeri vardır, bu nedenle CDN bunları yine de farklı kaynaklar olarak tanır.Düğümde ilk erişimde önbellek yok: Kaynak henüz o kenar düğümde önbelleğe alınmamıştır, bu nedenle ilk erişim kaçınılmaz olarak MISS gösterir.
İstemci istek üstbilgisi farklılıkları: Örneğin, farklı
Accept-Encodingdeğerleri çoklu kopya önbelleğe almaya tetikleyebilir (Gzip ve Gzip olmayan sürümler ayrı ayrı önbelleğe alınır). KaynakVary: User-Agentdöndürürse farklı UA'lardan gelen istekler de ayrı olarak önbelleğe alınır.Özel Önbellek Anahtarı ile çakışma: Özel Önbellek Anahtarı, parametreleri yok say yapılandırmasını geçersiz kılar; ikisi aynı anda etkinleştirildiğinde parametreleri yok say özelliği etkili olmaz.
Sorun giderme yöntemi: İstemcide curl -I "tam URL" komutunu çalıştırın ve önbellek durumunu onaylamak için X-Cache ve X-Swift-CacheTime yanıt üstbilgilerini karşılaştırın. Çözüm: Parametreleri yok say yapılandırmasının doğru olduğunu (etkin ve anahtar parametrelerin korunduğunu) onaylayın, tutarlı istemci istek üstbilgisi stratejisi sağlandığından emin olun ve Özel Önbellek Anahtarının aynı anda etkinleştirilmediğini onaylayın.