3G ağındaki bir web sayfasının ilk bağlantı ve SSL el sıkışma aşamasının yükleme süresini nasıl optimize edebilirim?


11

Web sitem www.example.com (SSL etkin) Amazon EC2 paylaşılan barındırmada barındırılıyor. Bir wifi / geniş bant bağlantısına daha hızlı yüklenir (yükleme süresi <2 saniye). Sorun mobil cihazlarda 3G ağında ** (H modu değil H modu) **. Bir bağlantı aşaması başlatın ve SSL el sıkışma işlemi 12 saniye sürer. Chrome Ağ sekmesi aracılığıyla zamanlama parametrelerini izledi. Aşağıda web sayfası için ölçülen yük zamanlaması verilmiştir.

Sayfa yükleme Ağ Zamanlaması İstatistikleri

Sayfada işlenen veri türü: Test edilen web sayfası AJAX aracılığıyla 5 anahtar / değer eşleştirilmiş JSON verisi alır ve web sayfasında görüntüler. Yalnızca 5-6 metin içeriğine sahip çok hafif bir sayfadır.

Birçok web sitesinin 3G mobil ağda (H modu) daha hızlı yüklendiğini gördüm. Bir 3G ağında ilk bağlantı kurma aşamasında web sitem çok yavaş. Birisi ilk bağlantı aşamasında gecikmeyi nasıl çözeceğimi / optimize edeceğimi lütfen bana yardımcı olabilir mi? Özel barındırma hizmetine geçmek mevcut sorunu çözecek mi?

Web Sunucusu meşgul değil ve her zaman çok fazla CPU VE bellek var.

Sunucu Yapılandırması: Amazon EC2 Bulut Sunucusu - Paylaşılan barındırma (32 CPU ve 60 GB RAM). Web Sunucusu - Apache. SSL - Symantec.


Elastik bir yük dengeleyici kullanmayı ve HTTPS'yi idare etmeyi denediniz mi? Amazon'da kullandığım şey bu ve bunun gibi performans sorunları görmedim. Sonra tekrar, özellikle 3G bağlantısına karşı test etmedim.
Stephen Ostermiller

Teşekkür ederim. Sunucu yük dengeli değil. Sunucuyu belirli parametreler üzerinde tekrar test eder ve dener.
Kullanıcı234334

Yanıtlar:


8

İlk Bağlantı

İlk bağlantının SSL'yi müzakere etmeyi içerdiğini göreceksiniz, bu yüzden el sıkışma yüksek olduğundan, SSL'yi kurma şeklinizle ilgili bir şeyin yanlış olduğunu gösteren iyi bir gösterge.

Google Chrome: Kaynak Zamanlamasını Anlama

TCP el sıkışmaları / yeniden denemeler dahil olmak üzere bir bağlantı kurmak ve SSL ile pazarlık yapmak için geçen süre.

SSL El Sıkışma ve TTFB

İki büyük sorununuz var: SSL anlaşmasını tamamlamak için harcanan zaman ve TTFB'yi bekleyen sunucular (ilk bayt zamanı).

  • TTFB: 4079ms (1000ms'den az olmalıdır)
  • SSL anlaşması 11830ms (100ms'den az olmalıdır)

3G / 4G cihazları ile test yaparken, telefon sinyallerinin gücü değiştiği için ilk baytlara neden olabileceği de belirtilmelidir ... bu, kesintili bağlantı sorunlarına ve değişen gecikme sürelerine neden olabilir.

1. Adım: SSL sorununu araştırma

Ciddi bir SSL sorununuz olduğu ve büyük olasılıkla hatalı bir OpenSSL veya benzeri kurulum nedeniyle ortaya çıktığı açıktır. SSL sertifikanızı SSL Labs kullanarak test edip önerdiği sorunları veya uyarıları düzelterek başlayın .

SSL hala yavaş çalışıyorsa, büyük olasılıkla aşırı yüklenmiş bir sunucunuz veya bir sunucu arızanız vardır. Eğer daha sonra ise, arızanın bulunduğu yeri daraltmaya çalışmanız gerekir. Bu konuda daha fazla yardıma ihtiyacınız olursa Sunucu Hatası yığınını kullanın , bir kullanıcı yeni anahtarlar oluşturmanın karşılaşabileceği ya da ilgili olmayabileceği yavaş bir SSL sorununu çözdüğünü bildirdi .

Yük dengeleyicileri bir sunucu kaynağı sorunu varsa yardımcı olabilir.

Adım 2: TTFB'nin Araştırılması

SSL sorununu çözdüğünüzde ve hala TTFB'nizde artış olduğunda, yeterli kaynaklara sahip olduğundan emin olarak sunucunuzu test etmelisiniz.

İlk bayt süresi aşağıdakilerden etkilenir ancak bunlarla sınırlı değildir:

  • Kullanıcıdan sunucuyu barındıran veri merkezine olan mesafe TTFB'yi artırabilir
  • Önbelleğe alınmamış GZIP, TTFB'yi artırabilir
  • Sıkışık ağlar TTFB'yi artırabilir
  • Sıkışık sunucular TTFB'yi artırabilir

Bazen CPU'ları ve RAM'i artırmak her zaman en iyi seçenek değildir. Bazen bir yük dengeleyiciyi tanıtmak daha iyidir, çünkü sadece birden fazla sunucuyu yan yana kolayca çalıştırabileceğiniz anlamına gelmez, aynı zamanda önbellek ve SSL isteklerini de boşaltır. Diğer bazı avantajlar şunları içerir:

KAYNAK

  • Önbellekleme: Cihaz, değişmeyen içeriği (resimler gibi) depolayabilir ve web sunucusuna trafik göndermeden doğrudan istemciye sunabilir.
  • Sıkıştırma: Dosyaları gönderilmeden önce sıkıştırarak HTTP nesneleri için bu trafik miktarını azaltır.
  • SSL Boşaltma: SSL trafiğinin işlenmesi bir web sunucusunun CPU'sunda gereklidir, bu nedenle bunun yerine bir yük dengeleyici bu işlemi gerçekleştirebilir.
  • Yüksek kullanılabilirlik: Birinin arızalanması durumunda iki yük dengeleme cihazı kullanılabilir.

TTFB'nizi düşürmek için ipuçları:


Ayrıntılı açıklamanız için teşekkür ederiz. Sunucuyu önerilen parametreler üzerinde tekrar test eder ve en iyisini uygular!
Kullanıcı234334

Sorudaki grafik SSL anlaşmasını ilk istek ve TTFB'den ayırıyor. Bu grafiğe göre, sorun aslında istek yapılmadan önce SSL ile ilgilidir.
Stephen Ostermiller

@StephenOstermiller güzel göründü. Bekleyen TTFB 4000ms iken SSL 11000ms'nin üzerindedir. SSL'nin TTFB'yi etkilemesi muhtemeldir. Soruyu bunu yansıtacak şekilde güncelledim.
Simon Hayter

Teşekkür ederim! SSL'mi www.ssllabs.com adresinde test ettim ve derecelendirme "A" oldu. Hiçbir uyarı / sorun bildirilmedi. Apache sürümünün eski olan 2.2.15 olduğunu buldum. Şimdi güncellemeniz gerekiyor. Web sitemin içeriği (TB cinsinden boyut) / var / www / html / dizinindedir. Apache'nin güncellenmesi / yeniden yüklenmesi web sitesi içeriğimi kaldırır mı? Veri kaybetmeden güncellemenin en güvenli yöntemi var mı?
Kullanıcı234334

Bir nokta daha - OpenSSL de son sürüm.
Kullanıcı234334

6

Sorunuzun başlığını okurken, ilk bağlantıyı ve SSL / TLS anlaşmasını hızlandırmak için yapabileceğiniz iki şey var. Bunlar sadece 3G için değil, herhangi bir bağlantı için çalışır, bu yüzden bunları yine de en iyi uygulama olarak kullanmalısınız.

İlk olarak, siteyi sunmak için HTTP / 2 kullanın. Bu Apache 2.4.17 veya üstünü gerektirir .

İkinci olarak, Apache'yi OCSP zımbalamasını kullanacak şekilde yapılandırın. Bu, Apache 2.3.3 veya üstü artı OpenSSL 0.9.8h veya üstü gerektirir ve burada kurmak için iyi bir kılavuzdur . OCSP zımbalama işleri hızlandırmaz, ancak istemci için bazı işleri yapar ve bir OCSP araması yapma sorununu ortadan kaldırır.

Sorunuzun gövde metnini okurken, barındırma ortamınızla ilgili çok daha büyük bir sorununuz olduğunu düşünüyorum. Bu yükleme süreleri kabul edilemez. Bu 'paylaşılan barındırma' olduğunu belirtin, o paylaşılan barındırma yöneten kim başvurun ve sunucuları neden bu kadar alışılmadık yavaş sormak gerekir. Muhtemelen farklı bir paylaşılan ana bilgisayarı denemek veya kendiniz bir VPS çalıştırmak daha iyidir (bu daha fazla iştir, ancak daha iyi hız ve esneklik sağlar).

Zaten AWS'de olduğunuz için, neden işleri test etmek ve kendi sunucunuzu çalıştırmak ve optimize etmek için ücretsiz katmanlarını denemiyorsunuz ? Test için bir alt alan adı ve bazı statik HTML sayfaları ile kullanın ve ardından birincil sitenizi (gerekirse ücretsiz katman sınırlarını aşarak ölçeklendirin) üzerine taşıyın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.