Bu makale hiçbir "sektör ortalaması" verisi kullanmaz. İçerideki sıkıştırma verileri kendi kendimize yaptığımız gerçek testlerden gelir, maliyet hesaplaması formüllerle verilir ve kendi faturanızdaki birim fiyatlarla sonuç bulunur.
Her ay bulut faturasını kontrol eden çoğu kişi sadece toplamı görür: Geçen aya göre biraz arttı, bütçenin içinde kaldı, geçti.
Ancak faturayı detaylandırıp ürün bazlı incelediğinizde, birçok web sitesi, mini uygulama ve içerik platformu, önde gelen maddelerin genellikle sadece iki şeye denk geldiğini fark edecektir:
- Nesne Depolama: GB·ay başına depolama ücreti alınır
- CDN / Genel Ağ Trafiği: GB başına indirilen trafik ücreti alınır
Ve bu iki maddeden en çok yer kaplayan genellikle görsellerdir.
Sorun şu ki, bu görsellerin bir kısmı kullanıcılar tarafından fark edilemez ancak siz her ay onların başına ödeme yapmaya devam ediyorsunuz.
1. "Yükleme sırasında sıkıştırdık" demek, "yeterince sıkıştırdık" demek değildir.
Birçok ekibin cevabı "yükleme sırasında sıkıştırdık" olur.
Bu durumu özel olarak test ettik. Örnek, kullanıcıların resim yükleyebileceği bir web sitesi; veritabanına girdiğinde zaten kendi taraflarından gelen sıkıştırma adımlarını tamamlamıştı: 78 klasör, 4624 resim, toplam 1.41 GB.
| Boyut | % Oran | |
|---|---|---|
| Web sitesi tarafından sıkıştırılmış orijinal dosyalar | 1.41 GB | — |
| ZIP olarak sıkıştırılmış | 1.41 GB | -0.2% |
| ImgZilla tarafından tekrar sıkıştırılmış | 0.75 GB | -46.8% |
"Sıkıştırılmış" olan üzerine yaklaşık yarıdan fazlasını daha tasarruf ettik. Ve 4624 resimden her biri hala tekrar sıkıştırılabilir; hiçbiri "sonuna gelindi, atlandı" diye geçmez.
Neden bu kadar? Çoğu veritabanına girme sıkıştırması, genellikle tek bir kalite parametresi ayarlar veya boyut sınırı koyar; bu tür işlemler çok daha korumacıdır ve her formatın kodlama alanını bitirecek kadar derinlemesine değildir.
Görsel kitaplığınız kamera çıkışlı, tasarım dosyası dışa aktarılmış veya operasyonel olarak doğrudan yüklenen orijinal dosyalarla doluysa, alan çok daha fazladır. 32188 adet kamera çıkışlı JPEG üzerinde test ettik ve toplam boyut %76.8 azaldı.
2. Depolama ücreti bir toplamadır, trafik ücreti bir çarpanıdır.
Bu en çok gözden kaçan noktadır.
- Depolama ücreti: Bir resim bir kovaya (bucket) konulduğunda, boyutuna göre her ay ücret alınır.
- Trafik ücreti: Bir resim her açıldığında boyutuna göre ek bir ücret alınır.
Bir ana sayfa banner'ında 300 KB'lık boş veri varsa, depolama faturasında neredeyse fark edilmez ancak günde 100.000 kez açılırsa, trafik faturasında günde yaklaşık 29 GB fark yaratır.
Görsel ne kadar popülerse, ödenen boş paranın miktarı o kadar fazladır. Ve en popüler görseller, genellikle ana sayfa görselleri, ürün ana görselleri, makale baş görselleri gibi "rastgele orijinal yüklenen" yerlerdir.
3. Kendi faturanızı hesaplayın.
Başkalarının herhangi bir tahminine inanmayın, geçen ayki faturanızı alın ve aşağıdaki iki formüle uygulayın:
Aylık Tasarruf Edilecek Depolama Maliyeti ≈ Toplam Görsel Depolama Miktarı(GB) × Sıkıştırma Oranı × Depolama Birim Fiyatı(Yen/GB·ay)
Aylık Tasarruf Edilecek Trafik Maliyeti ≈ Görsel Aylık İndirilen Trafik(GB) × Sıkıştırma Oranı × Trafik Birim Fiyatı(Yen/GB)
Sıkıştırma oranını önce güvenle %40 olarak varsayabilirsiniz ("sıkıştırılmış" örneğimizdeki %46.8'ten daha düşük), kendi resimlerinizi çalıştırdıktan sonra gerçek rakamlarla değiştirebilirsiniz.
Bir örnek için (birim fiyatlar varsayımsaldır, lütfen kendi faturanızdaki rakamlarla değiştirin):
| Proje | Değer |
|---|---|
| Görsel Depolama Miktarı | 500 GB |
| Görsel Aylık İndirilen Trafik | 10 TB |
| Depolama Birim Fiyatı (Varsayımsal) | 0.12 Yen/GB·ay |
| Trafik Birim Fiyatı (Varsayımsal) | 0.20 Yen/GB |
- Depolama: 500 × 40% × 0.12 ≈ 24 Yen/ay
- Trafik: 10240 × 40% × 0.20 ≈ 819 Yen/ay
Görüldüğü gibi, gerçekten büyük kısım trafikte. Depolamada tasarruf edilen miktar küçüktür, trafikte tasarruf edilen para ise ciddi miktardır. Ve bu para her ay ödenir; resim işlenmezse ödeme sürekli devam eder.
Faturada göremeyeceğiniz bazı başka faydalar da vardır: Sayfa yükleme hızı artar, mobil kullanıcılar daha az veri tüketir, LCP metrikleri daha iyi görünür ve mini uygulama ana paketi daha kolay sınırların içine sıkıştırılır.
4. Neden bunu bilmemize rağmen kimse bunu yapmıyor?
Birçok geliştirici ve site sahibine sorduk, cevaplar temelde üç şeydi:
1. Yol değişikliğinden korkmak.
Çevrimiçi sıkıştırma araçları "yükle → indir → yeniden adlandır → değiştir → kod içindeki referansları güncelle" işlemi gerektirir; binlerce resimli projelerde kimse bunu yapmaya cesaret edemez.
2. Kalite sorunundan korkmak.
Sıkıştırmadan sonra tasarımcılar, operasyonel ekib veya patron "resimler bulanık" diyebilir; kimse buna yüklenmekten hoşlanmaz.
3. Çok zahmetli olması.
Klasörler birbirinin içine geçmiş, tek tek işlemek imkansızdır; betik yazmak için parametreleri ayarlamak ve çeşitli formatları ele almak gerekir.
ImgZilla, bu üç sorunu çözmek için yapılmıştır:
- Yerinde sıkıştırma: Sıkıştırma tamamlandığında dosya doğrudan orijinalin üzerine yazılır; dosya adı ve klasör yapısı tamamen değişmez, kod içindeki referansları tek satır bile değiştirmeye gerek kalmaz.
- Görsel kayıpsız: PNG ve SVG gerçek kayıpsızdır; JPEG, WebP, AVIF ve HEIC için her format ayrı ayrı ayarlanır ve gözle fark edilemeyecek bir düzeye getirilir. Yatay bölünmüş karşılaştırma içerir; gerçeğe yakın ölçeklendirmelerle kendi başınıza kontrol edebilirsiniz.
- Sadece bir klasörü sürükleyin: Tüm alt klasörler özyinelemeli olarak işlenir; dosya seçmek için uğraşmanıza gerek yok, kaydırıcıyı ayarlamaya gerek yok.
- Tümü yerel olarak işlenir: İç materyaller, yayınlanmamış ürün görselleri üçüncü taraf sunuculara yüklenmez.
5. Depolama kovasına (bucket) "zayıflatma" (diet) gerçek süreci.
Eğer görselleriniz zaten nesne depolamada duruyorsa, süreç yaklaşık şöyledir:
-
Yerel olarak senkronize edin:
rclone,ossutil,coscmdveyaaws s3 syncgibi araçları kullanarak resim klasörlerini Mac'inize çekin. -
Önce bir yedek alın: Güvendesiniz, bu iyi bir alışkanlıktır; araçların güvenilir olmamasından dolayı değil.
-
ImgZilla'ya sürükleyin: Tüm klasörü içine sürükleyin ve bitmesini bekleyin.
-
Tekrar depolama kovusuna senkronize edin: Aynı aracı kullanarak üzerine yükleme yapın, yol değişmez.
-
CDN önbelleğini temizleyin: Resim klasörü için klasör temizliği yapın ve kenar düğümlerinin (edge nodes) yeni dosyaları almasını sağlayın.
-
Adımı kaçırmayın. Önbellek temizlenmezse, CDN düğümleri eski dosyaları dağıtmaya devam eder; trafik faturası sadece önbellek süresi dolduktan sonra düşmeye başlar.
6. Şeffaf Açıklama
- ImgZilla şu anda yalnızca macOS sürümüne sahiptir (macOS 12.3 ve üzerini gerektirir), Windows sürümü yoktur.
- PNG ve SVG dışındaki formatlar görsel olarak kayıpsızdır, piksel düzeyinde kayıpsız değildir. İşletmenizin piksel değişimini gerektiren (örneğin tıbbi görüntüler, piksel oranlarını karşılaştırmak için materyal) özel bir ihtiyacı varsa, bu tür dosyaları yeniden kodlamaktan kaçının.
- Sıkıştırma oranı dosyaya göre değişir. Test ettiğimiz tek tek sıkıştırma oranları %32 ile %86 arasında değişmektedir; önce bir klasörde test çalıştırmasını öneririz, ardından gerçek rakamları görüp karar vermeyi bekleyin.
Sonuç
Bulut sağlayıcıları görsellerin daha da küçülebileceğini size hatırlatmaz, faturanızda ayrıca "boş veri" satırı listelenmez.
Ancak orada duruyor, her ay GB başına ücretlendiriliyor ve her açılışta ek bir ücret talep ediliyor.
Resim klasörünü ImgZilla'ya sürükleyin ve çalıştırın, gelecek ay faturanızı karşılaştırın.
👉 ImgZilla'yu indirin: https://imagetool.app/ImgZilla
