Sıkıştırma (GZIP / DEFLATE) nasıl açılır; hangi içerik tipleri sıkıştırılmalı?
Kısa cevap
HTTP vService'te Details → Compression işaretlenerek açılır. Default Profile GZIP ve Level 1 ile yalnızca text/plain içeriği sıkıştırır; HTML, CSS, JavaScript ve JSON gibi metin tabanlı içerikler için Profiles → Compression ekranında bir Compression profili oluşturulup File Types listesine text/html, text/css, application/javascript, application/json gibi türler eklenir. JPEG, PNG, PDF, ZIP ve video gibi zaten sıkıştırılmış türler listeye eklenmez. Compression'ı açmak, kapatmak ya da Compression Level'ı değiştirmek vService'i yeniden başlatır.
Sorun: Metin Yanıtları Ağda Gereğinden Büyük Gidiyor
HTML, CSS, JavaScript ve JSON yanıtları sıkıştırıldığında boyutları belirgin biçimde küçülür; sayfalar yavaş bağlantılarda daha hızlı açılır ve bant genişliği tasarrufu sağlanır. Sıkıştırma uygulamaya dokunmadan, yanıt TR7'den geçerken yapılır; istemci Accept-Encoding başlığıyla desteklediğini bildirmezse yanıt sıkıştırılmadan gönderilir (istemci uyumluluk kontrolü).
Çözüm: Üç Yöntem
| Önerilen türler | Eklenmeyen türler |
|---|---|
text/html, text/css, text/plain, text/javascript, application/javascript, application/json, application/xml, text/xml, image/svg+xml | image/jpeg, image/png, image/gif, application/pdf, application/zip, video/*: zaten sıkıştırılmıştır, yeniden sıkıştırmak yalnızca işlemci harcar (dahil edilmeyen türler) |
| Durumunuz | Uygun yöntem |
|---|---|
| Hızlı açmak (yalnızca text/plain) | Yöntem 1: Default profile |
| HTML, CSS, JavaScript, JSON gibi web içeriğini sıkıştırmak | Yöntem 2: Özel Compression profili |
| Komut satırından | Yöntem 3: WEB-CLI |
Yöntem 1: Default Profile
- Nasıl çalışır vService'te Compression işaretlenince Default profile uygulanır: GZIP, Level 1, yalnızca
text/plain. - Nerede açılırLoad Balancer → Load Balancer vService List → Edit → Details → Compression
- Gereksinim Kayıt vService'i yeniden başlatır; yoğun saat dışında yapılır
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Load Balancer vService List ekranında HTTP vService seçilip Edit tıklanır.
Details panelinde Compression kutusu işaretlenir; Default profile seçili gelir (varsayılan profil davranışı).
Save tıklanır. Default profile Level 1 taşıdığı için kayıt vService'i yeniden başlatır ve açık bağlantılar kopar (Yaptığım bir değişiklik ne zaman devreye girer; kaydettiğim anda canlıya mı yansır?). Cluster'da varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
Doğrulama
Düz metin dönen bir adres istenir: curl -s -o /dev/null -D - -H "Accept-Encoding: gzip" https://www.example.com/robots.txt
Content-Encoding: gzipYöntem 2: Özel Compression Profili Önerilen
- Nasıl çalışır Profildeki File types listesindeki içerik türleri, istemci destekliyorsa seçilen algoritma ve seviyeyle sıkıştırılır.
- Nerede açılırLoad Balancer → Profiles → Compression → Add
- Gereksinim Compression vService'te ilk kez açılıyorsa ya da seviye değişiyorsa kayıt vService'i yeniden başlatır
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Profiles → Compression → Add tıklanır (nasıl eklenir). Profil vService formundan da, Compression satırındaki Add ile oluşturulabilir.
Name girilir; Compression Algorithm = GZIP (varsayılan; DEFLATE'i destekleyen istemci daha azdır); Compression Level = Default ya da Level 1–9; Default seçilen profil Level 1 olarak kaydedilir (Compression Level ne olmalı; CPU'ya etkisi nedir?).
File Types listesine her satıra bir tür yazılır: text/html, text/css, application/javascript, application/json, application/xml, text/plain. Öneri listesinde olmayan türler elle yazılır; tür tip/alt-tip biçiminde olmalıdır.
Add tıklanır.
vService Edit ile açılır; Details → Compression işaretlenir ve listeden profil seçilir (vService'e nasıl eklenir).
Save tıklanır. Compression bu vService'te açılıyor ya da kapatılıyorsa ya da profilin seviyesi öncekinden farklıysa vService yeniden başlatılır ve açık bağlantılar kopar; aynı seviyedeki bir profile geçiş kesintisiz uygulanır. Cluster'da varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
Doğrulama
curl -s -o /dev/null -D - -H "Accept-Encoding: gzip" https://www.example.com/; aynı istek Accept-Encoding olmadan da gönderilir.
İlkinde Content-Encoding: gzip · ikincisinde başlık yokvService panosunun HTTP Frontend sekmesindeki Compression grafiğinde Bytes Before Compression ve Bytes After Compression karşılaştırılır.
After değeri Before'dan küçükYöntem 3: WEB-CLI
- Nasıl çalışır Profil WEB-CLI komutuyla oluşturulup vService'e bağlanır.
- Nerede açılır TR7 WEB-CLI →
lb compression·lb service - Gereksinim WEB-CLI erişimi; komut satırında
--compressionLevelyazılmazsa seviye 1 olur (arayüzdeki Default seçeneği de Level 1 olarak kaydedilir) - vService tipi HTTP
Adım adım yapılandırma
Liste alanı --fileTypes.0, --fileTypes.1… biçiminde sıfırdan başlayarak yazılır:
lb compression add name web-sikistirma --algorithm gzip --compressionLevel 6 --fileTypes.0 text/html --fileTypes.1 text/css --fileTypes.2 application/javascript --fileTypes.3 application/json--compression profilin adını alır; kayıt vService'i yeniden başlatır:
lb service update id <vService> --compression web-sikistirmaDoğrulama
curl -s -o /dev/null -D - -H "Accept-Encoding: gzip" https://www.example.com/
Content-Encoding: gzipSık Yapılan Hatalar
- Compression'ı işaretlemenin yeterli olduğunu sanmak. Default profile yalnızca
text/plainsıkıştırır; HTML, CSS ve JavaScript için türler bir profile eklenir. - Sıkıştırılmış türleri eklemek. JPEG, PNG, GIF, PDF, ZIP ve video yeniden sıkıştırılınca küçülmez, yalnızca işlemci harcar.
- Kaydın bağlantıları etkilemeyeceğini sanmak. Compression açılınca, kapatılınca ya da seviye değişince vService yeniden başlar; yoğun saatte yapılmaz.
- Modify response content aksiyonunu gözden kaçırmak. Aynı vService'te bu aksiyon varsa yanıtlar sıkıştırılmadan gönderilir (Yanıt gövdesini değiştirebilir miyim (ör. HTML'e script eklemek, TC kimlik / kart numarası maskelemek)?).
- Seviyeyi rastgele seçmek. Seviye ile işlemci yükü arasındaki denge için: Compression Level ne olmalı; CPU'ya etkisi nedir?
Dokümantasyonda nasıl yapılır
