Web performansı - Web performance

Web performansı hızı ifade eder internet sayfaları indirilir ve kullanıcının internet tarayıcısı. Web performans optimizasyonu (WPO)veya web sitesi optimizasyonu web performansını artırmaya ilişkin bilgi alanıdır.

Daha hızlı web sitesi indirme hızlarının, ziyaretçi elde tutma oranını ve bağlılığını artırdığı gösterilmiştir[1][2] ve kullanıcı memnuniyeti, özellikle yavaş internet bağlantısı olan kullanıcılar ve mobil cihazlar.[3] Web performansı ayrıca web üzerinde daha az veri dolaşmasına yol açar ve bu da bir web sitesinin güç tüketimini ve çevre üzerindeki etkisini azaltır.[4] Sayfa yükleme hızını etkileyebilecek bazı hususlar arasında tarayıcı / sunucu önbelleği, görüntü optimizasyonu ve şifreleme (örneğin, SSL) bulunur ve bu, sayfaların işlenmesi için geçen süreyi etkileyebilir.[5]. Web sayfasının performansı, çok katmanlı önbellek, sunum katmanı bileşenlerinin hafif tasarımı ve sunucu tarafı bileşenleri ile asenkron iletişim gibi tekniklerle geliştirilebilir.

Tarih

Web'in varlığının ilk on yılında, web performansının iyileştirilmesi esas olarak web sitesi kodunu optimize etmeye ve donanım sınırlamalarını zorlamaya odaklandı. 2002 kitabına göre Web Performans Ayarı Patrick Killelea tarafından, kullanılan ilk tekniklerden bazıları basit sunucu uygulamaları veya CGI kullanmak, sunucu belleğini artırmak ve paket kaybı ve yeniden iletimi aramaktı.[6] Bu ilkeler artık internet uygulamalarının optimize edilmiş temellerinin çoğunu oluştursa da, tarayıcı görüntüleme hızını iyileştirme girişiminin çok daha az olması nedeniyle mevcut optimizasyon teorisinden farklıdırlar.

Steve Souders, 2004 yılında "web performans optimizasyonu" terimini icat etti.[7] O zamanlar Souders, web sitelerinin varsayılan olarak hızlı olması, konsolidasyon, performans için web standartları, optimizasyonun çevresel etkileri ve farklılaştırıcı olarak hız gibi "gelişmekte olan bir endüstri" olarak WPO'nun web'e getireceği etkiyle ilgili çeşitli tahminlerde bulundu.[8]

Souders'ın 2007'de yaptığı önemli bir nokta, bir web sitesini indirmek ve görüntülemek için geçen sürenin en az% 80'inin ön uç yapısı tarafından kontrol edilmesidir. Bu gecikme süresi, tipik tarayıcı davranışının yanı sıra nasıl HTTP İşler.[9]

Optimizasyon teknikleri

Web performans optimizasyonu gelişir kullanıcı deneyimi (UX) bir web sitesini ziyaret ederken ve bu nedenle web tasarımcıları ve Web geliştiricileri. Web sayfası yükleme sürelerini azaltmak için web optimizasyon görevlerini kolaylaştıran birkaç teknik kullanırlar. Bu süreç, ön uç optimizasyonu (FEO) veya içerik optimizasyonu olarak bilinir. FEO, dosya boyutlarını azaltmaya ve "belirli bir sayfanın yüklenmesi için gereken istek sayısını en aza indirmeye" odaklanır.

Aşağıda listelenen tekniklere ek olarak, bir içerik dağıtım ağı - dünyanın çeşitli yerlerine yayılmış bir proxy sunucu grubu - ağ yakınlığına bağlı olarak belirli bir kullanıcı için bir sunucu seçen verimli bir dağıtım sistemidir. Genellikle en hızlı yanıt süresine sahip sunucu seçilir.

Aşağıdaki teknikler yaygın olarak kullanılan web optimizasyon görevleridir ve web geliştiricileri tarafından yaygın olarak kullanılmaktadır:

Web tarayıcıları ayrı açılır Geçiş kontrol protokolü Her biri için (TCP) bağlantıları Üstmetin transfer protokolü (HTTP) bir web sayfası indirilirken gönderilen istek. Bu istekler, indirme için gerekli olan sayfa öğelerinin toplam sayısıdır. Ancak, bir tarayıcı, tek bir ana bilgisayara yalnızca belirli sayıda eşzamanlı bağlantı açmakla sınırlıdır. Darboğazları önlemek için, kaynak konsolidasyonu kullanılarak tek tek sayfa öğelerinin sayısı azaltılır ve böylece daha küçük dosyalar (resimler gibi) tek bir dosyada bir araya toplanır. Bu, HTTP isteklerini ve bir web sayfasını yüklemek için gereken "gidiş-dönüş" sayısını azaltır.

Web sayfaları şu kod dosyalarından oluşturulmuştur: JavaScript ve Köprü Metni Biçimlendirme Dili (HTML). Web sayfaları karmaşıklık içinde büyüdükçe, kod dosyaları ve ardından yükleme süreleri de artar. Dosya sıkıştırma, kod dosyalarını% 80'e kadar azaltabilir ve böylece site yanıt hızını artırabilir.

Web Önbelleğe Alma Optimizasyonu sunucu yükünü, bant genişliği kullanımını azaltır ve gecikme. CDN'ler özel web önbelleğe alma kullanır yazılım sistemlerinden geçen belgelerin kopyalarını saklamak. Önbellekten sonraki istekler, belirli koşullar geçerliyse yerine getirilebilir. Web önbellekleri, bir CDN'nin istemci tarafında (ileri konum) veya web sunucusu tarafında (ters konum) bulunur. Ayrıca, bir web tarayıcısı web içeriğini yeniden kullanım için saklayabilir.

Kod küçültme web geliştiricileri tarafından yazılan kodlar ile ağ öğelerinin kodu nasıl yorumladığı arasındaki tutarsızlıkları ayırt eder. Küçültme, kodu en aza indirmek için yorumları ve fazladan boşlukları kaldırır ve değişken adlarını sıkıştırarak dosya boyutlarını% 60'a kadar azaltır. Önbelleğe alma ve sıkıştırmaya ek olarak, kayıplı sıkıştırma teknikler (ses dosyalarıyla kullanılanlara benzer) gerekli olmayan başlık bilgilerini kaldırır ve birçok yüksek çözünürlüklü görüntüde orijinal görüntü kalitesini düşürür. Bu değişiklikler, örneğin piksel karmaşıklık veya renk geçişleri, son kullanıcı için şeffaftır ve görüntünün algılanmasını belirgin şekilde etkilemez. Başka bir teknik, vektör grafikleri çözünürlükten bağımsız raster grafikler. Raster ikamesi, basit geometrik görüntüler için en uygunudur.

HTTP / 1.x ve HTTP / 2

Web tarayıcıları paralel kullanıcı istekleri için birden çok TCP bağlantısı kullandığından, ağ kaynaklarının tıkanması ve tarayıcının tekelleşmesi meydana gelebilir. HTTP / 1 istekleri ilişkili olarak geldiğinden tepeden, web performansı, sınırlı bant genişliği ve artan kullanımdan etkilenir.

HTTP / 1, HTTP / 2 ile karşılaştırıldığında

  • dır-dir ikili metin yerine
  • tamamen çok katlı sıralı ve engellenmiş yerine
  • bu nedenle tek bir bağlantı kullanabilir paralellik
  • kullanır başlık ek yükü azaltmak için sıkıştırma
  • sunucuların yanıtları proaktif olarak istemci önbelleklerine "aktarmasına" olanak tanır[10]

Bir web sitesinin barındırma sunucusu yerine, CDN'ler, son kullanıcıya resimler, JavaScript dosyaları ve benzeri web kaynakları ile daha iyi hizmet vermek için HTTP / 2 ile birlikte kullanılır. Basamaklı Stil Sayfası (CSS) dosyaları, bir CDN'nin konumu genellikle son kullanıcıya daha yakın olduğundan. [11]

Referanslar

  1. ^ "Google, Arama Sıralamasına Site Hızını Ekliyor". Alındı 4 Aralık 2012.
  2. ^ Sharon, Bell. "WPO | Siber Pazartesi Trafiğine Hazırlanıyor". CDNetworks. Alındı 4 Aralık 2012.
  3. ^ Souders, Steve. "Mobil için Önce Web". Alındı 4 Aralık 2012.
  4. ^ Bellonch, Albert. "Herkes için web performansı optimizasyonu". Alındı 4 Aralık 2012.
  5. ^ "Web Sitesi Hızı Neden Önemlidir [Bilgi Görseli] - LoveUMarketing". LoveUMarketing. 2018-10-06. Alındı 2018-10-21.
  6. ^ Killelea, Patrick (2002). Web Performans Ayarı. Sebastopol: O'Reilly Media. s. 480. ISBN  059600172X.
  7. ^ Frick, Tim (2016). Sürdürülebilirlik için Tasarım: Daha Yeşil Dijital Ürün ve Hizmetler Oluşturma Rehberi. Boston: O'Reilly Media. s. 195. ISBN  1491935774.
  8. ^ Frick, Tim (2016). Sürdürülebilirlik için Tasarım: Daha Yeşil Dijital Ürün ve Hizmetler Oluşturma Rehberi. Boston: O'Reilly Media. s. 56. ISBN  1491935774.
  9. ^ Souders Steve (2007). Yüksek Performanslı Web Siteleri. Farnham: O'Reilly Media. s. 170. ISBN  0596529309.
  10. ^ "HTTP / 2 Sık Sorulan Sorular". HTTP Çalışma Grubu. Alındı 14 Nisan 2017.
  11. ^ "HTTP / 2 - Gerçek Dünya Performans Testi ve Analizi". CSS Hileleri. Alındı 14 Nisan 2017.