web sayfasi yükleme süresini azaltmak için pratik bir rehber

Neden diye sorabilirsiniz hizli yüklemek için sayfalar için önemlidir. Cevabi oldukça basit; sayfalarinizi yüklerseniz yavas yavas satis kaybedecektir. Bir tüketici açisindan bakildiginda size etkinlik göstermek için ikinci bir kismini var. Sayfaniz tamamen yüklemek zorunda degildir ama kesinlikle hemen bir etkinligi görmek gerekir. Tüketiciler sabirsiz ve sayfalari hemen görüntülemeye baslamak bu büyük siteleri tarafindan egitilmistir. Eger hizli yükleme sayfalari yoksa, en tüketicilerin bir sonraki sitesine gidecek. Bu deger hiz, büyük arama motorlari bunlari endeksli istiyorsaniz hizli yüklemek için sayfalar için önemli oldugunu belirttigimiz bu sadece tüketicilerin degil. Daha hizli sayfa yükler, size endeksli olacaktir daha fazla sayfa. Bazi arama motorlari çikip ve hatta downgrade ödemeli arama pazarlama sayfalari yavas yük eger belirtmislerdir. Eger sayfa yükleme hizini artirmak için ne yapabilirim? Asagida basarili bir sekilde web sayfalarini yüklemek için gereken süreyi azaltmak için kullanilan teknikler.

web sunucusu optimizasyonu
SQL Server optimizasyonu
Kontrol etmek için ilk sey PerfMon (Windows Performans Monitor) kullanarak disk. Fiziksel diskin uydurarak olup olmadigini belirlemek için kullanin. PerfMon kullanarak, Ort FizikselDisk nesneyi seçin. Disk Sira Uzunlugu sayaç, daha sonra sürücü için örnek SQL veritabani yüklenir. Bu gösterge sayisi izlediginiz sürücünün bir dizinin parçasi ise bagli olarak degisebilir ama mümkünse 1 altinda ortalama tutmak en iyisidir olacaktir. Sürücü diziler için hesaplanirken özellikle fazla bilgi için bu Microsoft belgelerine bakin. http://support.microsoft.com/kb/146005

Sonraki SQL bellek kullanimini kontrol etmek istiyorum. Sag Enterprise Manager içinde sunucu tiklayarak ve Bellek sekmesini görüntüleyebilirsiniz özellikleri seçerek. SQL göze kadar bellek olarak vermek için bu sekmeyi kullanin. SQL daha fazla veri vermek daha fazla bellek böylece sonuçlari daha hizli dönen, önbellege alabilir. Sunucu fazla 2GB bellek daha var mi? Böylece tüm bu bellek http://support.microsoft.com/kb/283037 görmek için sunucu yapilandirmak için bu kilavuz kullanirsaniz o zaman bu rehber http://support.microsoft.com/kb/274750 daha görmek için SQL yapilandirma bellek kullanilabilir. Yanlis bildirebilir olarak görev yöneticisi kullanmayin SQL bellek kullandigindan emin olmak için. Bunun yerine Set Sayaç, Sqlservr Örnek Çalisma, PerfMon Süreci nesne kullanin. Bu sayaç kontrol etmeden önce yeniden baslattiktan sonra kendi önbellek olusturmak için sunucu zaman verin.

Eger CPU uydurabilecek emin olmak istiyorum. Bu sayaç yaniltici olabilir dikkatli olun. Eger sürekli yüksek CPU kullanimina kayit olsa da bu yapay CPU kullanimi artiyor olabilir daha hizli bir islemci, yeterli disk hizi ve bellek eksikligi ihtiyaç anlamina gelmez. CPU kullanimi uzun bir süre için% 80’in üzerinde ortalama ve zaten bir sorun olarak bellek ve disk disladi varsa CPU (ler) yükseltmeniz gerekebilir. Eger birden fazla islemci varsa Islemci Nesne,% Islemci Zamani Sayaç ve ilgili örnegini kullanarak CPU kullanimini izlemek için PerfMon kullanin. Sunucu birden fazla islemciye sahip ve SQL birden fazla kullanmasina izin göze eger, dogru islemci sekmesini ardindan, Enterprise Manager, sunucu tiklayin Özellikler’i seçin, ve. Bu SQL kullanimi için birden fazla veya tüm CPU seçmenizi saglayacak.

Bant genisligi biraz daha açiktir ama yine de sözü edilmesi gereken. Yüksek bant genisligi kullanimi sürekli varsa bu yavaslama neden bir darbogaz olacak. Bant genisligi kullanimi kontrol etmek biraz zor olabilir. Eger bir hosting sirketi kullaniyorsaniz size bant genisligi ile ortalama hem de bant genisligi ani ne (genellikle giris yapabilirsiniz gerçek zamanli monitör bir tür ile) söylemek gerekir. Eger özellikle günün yogun parçasi sirasinda hosting sirketi mevcut bant genisliginin bol oldugundan emin olmak isteyeceksiniz. Barindirma sirketi bu raporlari saglayamaz Eger bir donanim veya bant genisligi kullanimini belirlemek için yazilim dinleyicisi yararlanabilirler. Anahtar baglanti genellikle kullanmak çok daha isleyebilir emin olmaktir. % 80 kullanimi ortalama iseniz baglanti yükseltmeyi düsünmelisiniz.

Simdi teslim aldiginiz önemli donanim darbogazlari üzerinde DBA sapka koymak ve indeksler güncel oldugundan emin olun. Eger dizinleri yönetmek için en iyi yolu bilen deneyimli bir DBA degilseniz, SQL Profiler (Araçlar, Enterprise Manager SQL Profiler) kullanin. Yeni izleme olusturun ve SQLProfilerTuning sablonu seçin. Kayit süresi düzenli faaliyetleri ile ilgili verileri toplamak için yeterince uzun oldugundan emin olun. Eger ek trafik (yavaslamasi neden özellikle trafik) olusturabilir, ayrica veri toplarken mümkün bu kadar yapmak isteyeceksiniz. Bir kez veri, Araçlar’i tiklatin, dizin Ayarlama Sihirbazi toplama bitirdim. Yeni olusturdugunuz ve söz konusu veritabanini seçmek için emin olun profilini kullanin. Geçerli çalisan bittiginde herhangi bir degisiklik önerdi. Önerilen degisikliklerin yok kadar bu birden çok kez çalistirmaniz gerekebilir. Bu tür yeni öneriler bulmak ve uygulamak için tekrar bu sürecin çalistirmak isteyeceksiniz yeni alanlar ekleme gibi veritabani degisiklik yapmak Ayrica olarak. Sadece her sey düzgün çalistigindan emin olun düzenli olarak bu süreci çalistirmak istiyorum. Bir yan not olarak, veritabani her tablo bir birincil anahtar oldugundan emin olun.

Bir kez optimize sizin dizinleri SQL sunucusu üzerinde yasiyorsaniz faaliyet ne tür kontrol etmek için tekrar SQL Profiler çalistirin. Uzun daha verimli çalistirmak için degistirilebilir sorgulari çalisan var mi? Eger web uygulamasi içinde önbellege olabilir üzerinde çalistirmak ve üzerinde olan sorgulari var mi? Eger web sayfalari için yükseltmeleri ve eklemeler yapmak gibi birçok kez veritabanina ekstra sorgulari katacak. Sayfalariniz üzerinden gidin ve iki yerine bir sorgu ile bilgi dönmek için sorgular birlestirebilirsiniz olmadigini ögrenmek. Birden fazla sorgu yapmak varsa, veritabanina bir baglanti yapmayi deneyin, ve sonra tüm sorgular için ayni baglanti kullanin. Bu sekilde birbiri ardina veritabani birine tekrarlayan baglanti yapmadan degildir. Bir veritabani baglantisi yapmak zaman alici ve kaynak yogun olabilir.

Yüksek disk kullanimi muzdarip eger SQL server sürücüler arasinda size bölüm veritabani yolu yardimci olabilir. Benim için iyi çalisti Asagidaki yapilandirma her bölüm ayri bir fiziksel sürücüde olduguna dikkat:
c: isletim sistemi ve SQL yürütülebilir
d: veritabani dosyasi – baskini 5
E: sql log dosyalari
f: Geçici veritabani
g: yedekleme

D sürücüsünde RAID 5 kullanarak birden fazla sürücü istegine yanit çünkü çok hizli okur saglar. Ayrica istekleri Günlük dosyalari veya Sicaklik veritabanina yazar için beklemek zorunda degilsiniz. D sürücüsü okuma veri oldugu için, SQL daha etkin sik istekleri önbellege almak için bellek kullanabilir. Bir sürü kendi ayri bir sürücü çekisme azaltir konum vererek böylece SQL log dosyalari ve geçici veritabanina yazma istekleri vardir. Bu yüksek RPM, daha verim ve daha büyük bir önbellek ile sürücüleri kullanarak daha hizli çalistirmak için SQL Server yardimci olacagini söylemeye gerek yok.

web sunucusu optimizasyonu
Hemen hemen her sayfa tipik Internet perakendeci web veritabani baglantisi bir tür yapacak bu yana, sizin tikaniklik muhtemelen SQL veri almak olacak. Bu durumda muhtemelen web sunucusu için çok optimizasyon yapmak gerekmez. Genellikle sunucu bol web sunucusu için kullanilabilir CPU, bellek ve disk kaynaklari oldugundan emin olmak isteyeceksiniz konusma. (Bu makalenin önbellege alma bölümüne bakin) daha fazla web sayfasi önbellege alma saglamak için bellek artirilmasi gerçekten sayfa yüklenme süresini artirabilir bir alandir. Bulmak Ayrica eger disk asagidaki bazilarini deneyin uydurarak sorun yasiyorsaniz:
1 Bellek ekleyin ve önbellege alma artirmak
Günlük etkin varsa 2, baska bir sürücüye günlük dosyasi konumlari tasiyin.
3 web sayfalari bir RAID 5 bölümünden yüklenen emin olun.

veritabani yedekleri
Kendi bir makale gerektirir gibi veritabani yedekleme tüm özelliklerini girmeyecegim. Performans soru itibaren size en uygun kaynaklara sahip oldugunda çalistirmak için yedekleme programi isteyeceksiniz. Eger baska bir sunucuya yedeklemek, önce yerel bir sürücüye yedekleme ve daha sonra LAN üzerinden yedeklemeyi degerlendirin. Bunu baska bir sunucuya aktarmak için ne kadar sürer ile ilgili olmasi gerekmez baska bir sunucuya yedekleme aktarirken sonra, yerel olarak yapilir çünkü bu daha hizli yedekleme tamamlamak yardimci olabilir. Baska bir seçenek veri ayna ayri bir sunucu kurulum için, o zaman sadece yerine birincil yansitilmis sunucu yedekleme yapabilirsiniz. Bu aynali sunucusu da birincil sunucu basarisiz durumda sunucu üzerinden bir fail olarak kullanilabilir.

yük dengeleme / birden çok sunucu
Web sunucusu, veritabani sunucusu, web sayfalari ve sunucu donanimi optimize sonra hala sorun yasiyorsaniz bu sunucular dengeleme sunuculari ve yük ekleyerek düsünebilirsiniz. Her durumda farkli oldugu için olasi her yapilandirma listelemek imkansiz. Asagida bazi örnekler vardir ama kaynaklar eksik ve sunucularin tipi koyun ve nasil denge yüklemek için ne en iyi kararlar verebilmeniz için ne bu kaynaklari kullanarak tam olarak belirlemek için derinlemesine arastirma yapmak için önemlidir.

Su anda tek bir sunucu çalistirirsaniz, kaynaklari, muhtemelen disk ya da bellek, belki CPU eksik ne ve bu kaynaklari kullanarak oldugunu belirlemek. Genellikle tek bir sunucudan birden fazla sunucuya tasirken yeni bir sunucu koyacagiz ve sadece bu yeni sunucu üzerinde veritabani koymak.

Sonraki Benim için son derece iyi çalisti üç sunuculari ile bir yapilandirma gösterecegiz:
Her sunucu SQL ve IIS yüklü olan. Biz bir ana sunucu ve iki köle sunuculari var. Ana sunucu üzerinde bizim tüm veritabanina sahip, web siteleri bu veritabanina emir yazabilir ve personelimiz bu veritabanini kullanarak siparis isleyebilir ve bu sunucuda tarihe satici envanter kayitlari tutmak. Ana sunucu yedeklenmis olur tek sunucusudur. Iki köle sunucular kamu bizim web sitelerini kullanmak için gerekli olan web siteleri ve veritabaninin sadece parçalari çogaltilir böylece ayarlanmistir. Bu nedenle ana sunucuya yapilan herhangi bir degisiklik 15 dakika içinde köle sunucularina çogaltilir. degisebilir. Kamu web siteleri ana sunucuya geri yazmak için köle sunucular, bunlari çok hizli istekleri büyük bir sayi süreci saglar modu “salt okunur” olarak çalistirabilirsiniz. Emir atiliyor zaman bizim ana sunucu sadece aldigi kamu web sitelerinden yazar için, sadece kamu trafik az miktarda islemek için vardir. Bizim trafik biz sadece eklemek büyüdükçe daha sadece sunucu okuyun. Bizim durumumuzda biz sadece sunucular arasinda onlari bölmek yeterli web siteleri var. Ancak tek bir web siteniz varsa, hala bir DNS hepsini birer kez deneme kullanarak dengeyi yük veya olabilir daha asiri durumlarda akilli yük gerçeklestirebilirsiniz F5 Big IP http://www.f5.com/products/big-ip/ gibi bir cihaz dengeleme geçerli sunucu yüküne bagli.

Bir baska popüler yöntemi ayri bir veri ile birden fazla SQL sunucu (bu ana darbogaz oldugunu varsayarak) kurulum için. SQL, resimlerinizi tutmak Örnegin, veri bazi bir sunucu ve görüntü almak için diger sunucu baglanti kurmak o zaman kendi sunucusu vardir onlari tasimak isteyebilirsiniz.

web sayfasi tasarimi
java script ve css dosyalari
Yerine satir içi dosyalari Java Script ve CSS koyarak tarayiciniz bunlari her zaman okumak yerine bunlari önbellege saglar. Tarayiciniz, ayri ayri her dosya indirmek tek bir dosyada tüm Java Script tutmak için elinizden geleni yapin ve CSS ile ayni seyi oldugundan

görüntü optimizasyonu
Görüntüleri optimize sayfa yükleme süresi çok önemlidir. PNG görüntüleri dönüstürün. , Resimlerinizi yeniden boyutlandirmak ve önceki yükleme onlari optimize etmek için HTML kullanmayin. Mümkünse 30K altinda bir dosya boyutu için büyük görüntüleri tutmaya çalisin. Orada satir içi görüntüler, sprite ve görüntü haritalari ile yapilabilir bazi gelismis optimizasyonlar vardir ama çogunlukla onlarla deneyimli degilim ve bunun birçok örnegini yönetiminde bir kabus olabilir. Ayrica tarayici destegi sorunlari olabilir.

önbellege alma
Önbellege alma büyük ölçüde özellikle popüler sayfalari için, sayfa yükleme süresini azaltmak için bir yoludur. Sayfanizin dinamik bile, 4 saat ya da en azindan 15 dakika için önbellege mümkün olabilir.

Bu HTML önbellege herhangi bir sayfa için baslik Bitis kullanarak tarayici önbellege alma etkinlestirebilirsiniz. Önbellege alma Bu tür bu tam sayfa döner eger web sunucusuna geri dönüp sayfayi yeniden almak gerekmez oldugunu ziyaretçilerin tarayici söyler. Bu, insanlarin sitenizi gezen zaman yardimci ve ayni sayfaya birden çok kez geri gelecektir. Sayfa daha statik ise, örnegin bir makale sayfasi gibi, 30 gün boyunca önbellege için ayarlamak mümkün olabilir. Bu sunucu vurmak zorunda kalmadan farkli günlerde bu sayfaya gitmek için ayni kisi saglayacaktir. Bu önbellege alma düsüsünü insanlar önbellege alma süre içinde birden fazla kez sayfanizi ziyaret ederseniz sadece yardimci olmasidir.

Önbellege alma, baska tür sunucu tarafinda sayfa önbellege alma oldugunu. Bu istekleri önbellek zaman içinde sayfanin önbellege alinmis sayfa alacagi, önbellege alma zamani tanimlarken bu nedenle, yerine tarayicinin sunucu üzerinde herkes bir sayfa önbellege saglar. Sunucu tarafinda önbellege alma web sunucusu hangi sayfa veya sorgu veritabani almak için disk gitmek zorunda anlamina gelir (yeterli bellek kaynak vardir verilen) bellekte sayfanin önbellege saglayacaktir. En Örnegin web sitenizin ön sayfa sayfa olusturmak için birden fazla veritabani sorgulari yapan bir agaç görünümü menüsü vardir diyelim. Bu sayfayi birçok kez bir saat talep edilmesi halinde bu sunucularda kaynak gerginlik bir sürü olusturur. Eger 15 dakika için önbellege için bu sayfayi ayarlayin. simdi sadece her 15 dakika bir kez bu kaynak gerginlik yaratir. Sunucu diger istekleri ve sayfa daha iyi yanit için izin çok daha hizli görüntüler. Sitenizde daha hizli yapmak için yapabileceginiz her seyi, bu en büyük etkiye sahip olabilir.

Sunucu tarafinda sayfa önbellege alma benzer kismi sayfa önbellege alma oldugunu. Bu biraz daha karmasik ama sayfanizin parçalari önbellege saglar. Tekrar yukaridaki örnekte ama bu kez biz sayfa her seyi önbellege olamaz kriterleri zorunlu kullanalim. Bu durumda biz menü oldukça statik ve sunucularda büyük bir kaynak drenaj ve sayfa teslim yavaslar gibi sadece menü önbellege isteyebilirsiniz.

ayri etki
Bazi tarayicilar ayni anda dosya indirmek için birden fazla baglanti açar ama ayni anda indirmek nasil etki alani basina çok bir siniri olacaktir. Bu etrafinda almak için Görüntü, CSS, ve böylece tarayici ayni anda daha fazla dosya indirmek için izin ayri etki için Java Script gibi dosyalari hareket olabilir.

ilerici render
Bir sayfayi ziyaret ve hemen Bu sayfa görüntüleme bölümleri görme yerine ayni anda sayfanin tamamini gösteren baslattiginizda ilerici vermektedir. Bu islem hemen kullanici geribildirim verir ve daha geliyor biliyorum. Bu tarayiciya isler önce sayfa ikinci bir kadar sürerse, kullanici farkli bir sayfaya hareket edecek bekleyen bir sorun ve yerine orada bir sey olabilir. Asamali isleme de sayfa daha hizli tamamen sayfanin tamamini islemek için zaman ayni miktarda alir bile yükleniyor yanilsama verebilir. Ilerici sayfanizin render için onlar islemek gibi sayfa bölümleri geçmek için arka uç programlama dili söylemek gerekebilir. Ayrica bir ASP.NET Gridview gibi bilesenleri ile giderek yerine tek seferde tüm nesneyi daha hale getirecek, bu bilesen isleyemez. Bir HTML açidan bakildiginda emin stil sayfalari sayfa bas ve Java Script yüklenir olmak isteyeceksiniz Sayfanin en sonunda yüklenir. Bu yapmamak giderek render gelen sayfanin tamamini engelleyebilirsiniz.

büyük siniflari
Yararlari ASP.NET biri kilavuz görünümü gibi son derece zengin siniflari kullaniyor. Bu kilavuz görünümü özellikleri ve iç isleyisini kesfetmek için tam bir kitap (ve biri vardir eminim) adamak olabilir. Son derece esnek ve kullanimi kolay. Birkaç basit sorgu ile basit bir düzenlenebilir kilavuz görünümü tanimlayabilirsiniz. Tablo görünümüne kullanmanin bir maliyeti çünkü yerlesik tüm agir bir yük tasimasidir. Çogu zaman bu bir sorun degil ama HTML olusturmak ve bir tablo veya baska bir temel ekran sekilde islemek eger basit bir ekran izgara görünümleri için bir hiz artisi göreceksiniz.

sikistirma
Görüntülenmis kodunda çok fazla bosluk kaldirmak böylece sayfa yükleme süresi hizlandirmak, aktarilan verilerin boyutunu azaltacaktir. Ayrica yapilandirmalari bu kolayca yarim veya daha fazla transfer ne büyüklügü kesebilir http://www.gzip.org/ GZIP (bir GNU Sikistirma Programi) desteklemek için çogu web sunucularina yapilabilir. Bu sikistirmak için sunucuda ve açmak için tarayici ekstra CPU döngülerini içerir ancak sunucu sürekli yüksek CPU kullanimi çalistigi sürece çok bu nedenle bir CPU vurmak ya da yavaslama görmek gerekir. Bir yan not, bu sikistirma kullanan yarisinda veya ekstra bant genisligi kadar ücretsiz en az barindirma fatura bant genisligi kismi kesilmis olabilir.

web sitesi hatalari
Hatalar müsterilerinize rahatsiz edici söz degil, her sey yavaslar. Sizin arka uç kod veya web sunucu hatasi isleme mesgul olan her zaman uzak sunucu ekstra kaynak alir. Hata kontrol kullanarak hatalari kodlama yakalamak ilk adimdir. Yaygin bir uygulama olarak bana e-posta tüm hatalari ben onlari görmek ve zihinsel onlari kabul etmek zorundayim. Bu da bana hata sikliginin yargiç yardimci olur. Ben her zaman onlari görüyorum, çünkü onlari sabit almak için benim listenin en üstünde genellikle var. Zamanla tüm olasi hatalar için düzeltmeler kodlama genellikle böylece genel performansi artirmak olarak mesgul zorunda hata kontrol önleyecektir. Eger takip etmek isteyeceksiniz diger hatalar gibi 404 (Sayfa bulunamadi) gibi web sunucusu hatalardir. Eger sunucu, web günlüklerinde bu hatalarin olusumunu izleyebilirsiniz. Örnegin, bunun yerine web sunucusu, bir 404 hata olusturur samimi bir dosya (ayni adi ve eksik bir yeri) yer icar artik varolmayan bir sayfaya eski bir baglanti var, mesaj “yok” veya bir komut dosyasi web sitenizde baska bir sayfaya yönlendirmek için.

Bu makalenin kapsami uymaz yapabileceginiz kesinlikle birçok ek sey var. Bu orta boy Internet perakendeci için küçük için pratik bir rehber olarak tasarlanmistir. Ben bu bilgilendirici ve kira ya da pahali çözümler daha derinlemesine kesfetmek önce bu tekniklerin her birini düsünün bulduk umuyoruz. Burada sayfalari zaman içinde yük hizini izlemek için kullanabileceginiz ücretsiz bir Web Sayfa Yükleme Süresi Tracker. Bu kaynak indirmeden ve CSS görüntüleme, Görüntü ve JavaScript gibi sayfa islemek için gerçek bir web tarayicisi kullandigi benzersizdir. Sitenizi degisiklik yaptiginizda karsi grafige veri var ve bu yüzden tüm farkli sayfalarda simdi bu ayarlayin.