Düşük bant genişliği ve yüksek gecikme süresini anlama

Bağlantı zayıf veya güvenilmez olduğunda uygulamanızı ya da sitenizi kullanmanın nasıl bir deneyim olduğunu anlamak ve buna göre geliştirmek önemlidir. Çeşitli araçlar size yardımcı olabilir.

Düşük bant genişliği ve yüksek gecikmeyle test etme

Web'i mobil cihazlarda kullananların oranı gittikçe artıyor. Evde bile birçok kişi sabit geniş bant yerine mobil bağlantıyı tercih ediyor.

Bu bağlamda, bağlantı zayıf veya güvenilmez olduğunda uygulamanızı ya da sitenizi kullanmanın nasıl bir deneyim olduğunu anlamak önemlidir. Çeşitli yazılım araçları, düşük bant genişliğini ve yüksek gecikmeyi emüle ve simüle etmenize yardımcı olabilir.

Ağ sınırlamayı taklit etme

Bir siteyi oluştururken veya güncellerken çeşitli bağlantı koşullarında yeterli performans sağladığından emin olmanız gerekir. Bu konuda çeşitli araçlardan yararlanabilirsiniz.

Tarayıcı araçları

Chrome Geliştirici Araçları, Ağ panelindeki hazır ayarları veya özel ayarları kullanarak sitenizi çeşitli yükleme/indirme hızları ve gidiş dönüş süreleri ile test etmenize olanak tanır. Temel bilgileri öğrenmek için Ağ Performansını Analiz Etme özelliğini kullanmaya başlama başlıklı makaleyi inceleyin.

Chrome Geliştirici Araçları'nın kısıtlanması

Sistem araçları

Network Link Conditioner, Xcode için Hardware IO Tools'u yüklerseniz Mac'te kullanılabilen bir tercih panelidir:

Mac Network Link Conditioner denetim masası

Mac Network Link Conditioner ayarları

Mac Network Link Conditioner özel ayarları

Cihaz emülasyonu

Android Emulator, Android'de uygulamaları (web tarayıcıları ve karma web uygulamaları dahil) çalıştırırken çeşitli ağ koşullarını simüle etmenize olanak tanır:

Android Emulator

Android Emulator ayarları

iPhone'da, bozuk ağ koşullarını simüle etmek için Network Link Conditioner kullanılabilir (yukarıya bakın).

Farklı konumlardan ve ağlardan test etme

Bağlantı performansı, sunucu konumunun yanı sıra ağ türüne de bağlıdır.

WebPagetest, çeşitli ağlar ve ana makine konumları kullanarak siteniz için bir dizi performans testi çalıştırmanızı sağlayan online bir hizmettir. Örneğin, sitenizi Hindistan'daki bir sunucudan 2G ağında veya ABD'deki bir şehirden kablo üzerinden deneyebilirsiniz.

WebPagetest ayarları

Bir konum seçin ve gelişmiş ayarlardan bir bağlantı türü belirleyin. Hatta komut dosyalarını (ör. bir siteye giriş yapmak için) veya RESTful API'lerini kullanarak testleri otomatik hale getirebilirsiniz. Bu sayede, Connectivity Tests'i derleme işlemlerine veya performans günlük kaydına dahil edebilirsiniz.

Fiddler, GeoEdge üzerinden global proxy'yi destekler ve özel kuralları, modem hızlarını simüle etmek için kullanılabilir:

Fiddler proxy'si

Bozuk bir ağda test etme

Yazılım ve donanım proxy'leri, bant genişliği kısıtlama, paket gecikmesi ve rastgele paket kaybı gibi sorunlu mobil ağ koşullarını taklit etmenize olanak tanır. Paylaşılan proxy veya bozuk ağ, bir geliştirici ekibinin gerçek dünyadaki ağ testlerini iş akışlarına dahil etmesine olanak tanıyabilir.

Facebook'un Augmented Traffic Control (ATC) aracı, trafiği şekillendirmek ve bozuk ağ koşullarını taklit etmek için kullanılabilen BSD lisanslı bir uygulama grubudur:

Facebook'un Augmented Traffic Control'ü

Facebook, 2G kullanan kişilerin ürünlerini nasıl kullandığını anlamak için 2G Salıları bile düzenledi. Salı günleri çalışanlara 2G bağlantısını simüle etme seçeneği sunan bir pop-up gösterilir.

Charles HTTP/HTTPS proxy'si, bant genişliğini ve gecikmeyi ayarlamak için kullanılabilir. Charles ticari bir yazılımdır ancak ücretsiz deneme sürümü mevcuttur.

Charles proxy bant genişliği ve gecikme ayarları

Charles hakkında daha fazla bilgiyi codewithchris.com adresinde bulabilirsiniz.

Güvenilir olmayan bağlantı ve "lie-fi" sorunlarını giderme

Yalancı kablosuz ağ nedir?

Lie-fi terimi en az 2008'e (telefonların böyle göründüğü zamanlara) dayanır ve göründüğü gibi olmayan bağlantıyı ifade eder. Tarayıcınız, herhangi bir nedenle bağlantısı olmasa bile bağlantısı varmış gibi davranır.

Bağlantının yanlış yorumlanması, tarayıcı (veya JavaScript) vazgeçip mantıklı bir yedek seçmek yerine kaynakları almaya çalışmaya devam ettiği için kötü bir deneyime neden olabilir. Yalan-fi aslında çevrimdışı olmaktan daha kötü olabilir. En azından bir cihaz kesinlikle çevrimdışıysa JavaScript'iniz uygun kaçınma eylemini gerçekleştirebilir.

Daha fazla kullanıcı mobil cihazlara geçip sabit geniş banttan uzaklaştıkça, Lie-Fi'ın daha büyük bir sorun haline gelmesi muhtemeldir. Yakın tarihli ABD nüfus sayımı verileri, sabit geniş banttan uzaklaşıldığını gösteriyor. Aşağıdaki grafikte, 2015 yılında evde mobil internet kullanımı 2013 yılıyla karşılaştırılmaktadır:

ABD nüfus sayımı verilerinden alınan ve özellikle düşük gelirli hanelerde sabit geniş banttan mobil cihazlara geçişi gösteren grafik

Kesintili bağlantıyı yönetmek için zaman aşımlarını kullanma

Geçmişte, kesintili bağlantıyı test etmek için XHR kullanan hileli yöntemler kullanılıyordu ancak hizmet çalışanı, ağ zaman aşımı sürelerini ayarlamak için daha güvenilir yöntemler sunuyor. Bu, yalnızca birkaç satır kodla Workbox kullanılarak yapılabilir:

workboxSW.router.registerRoute(
  '/path/to/image',
  workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);

Workbox hakkında daha fazla bilgiyi Jeff Posnick'in Chrome Dev Summit konuşması olan Workbox: Flexible PWA Libraries'de bulabilirsiniz.

Fetch API için zaman aşımı işlevi de geliştiriliyor. Streams API ise içerik yayınlamayı optimize ederek ve monolitik istekleri önleyerek yardımcı olacaktır. Jake Archibald, Supercharging page load (Sayfa yüklemeyi süper şarj etme) adlı makalesinde, lie-fi ile mücadele hakkında daha fazla bilgi veriyor.

Geri bildirim