Bir ASP.Net web sitesi neden yavaş yüklenebilir? [kapalı]


9

Anekdot olarak, her sayfa için önemli miktarda yükleme süresi gerektiren birçok .aspx web sitesini ziyaret ettim.

Deneyimim benzersiz mi?

Değilse, neden bir ASP.Net web sitesi yavaş yüklenebilir?

Düzenleme: Şimdi yaklaşık 7 yıl sonra (12/29/2017). İyi haber şu ki, bu sorun çok fazla görmüyorum, belki Google çok yavaş yüklenen siteleri cezalandırmaya başladığı için. Şimdi iyi sonuçlar ile ASP.NET MVC kullanıyorum, şu anda Vultr özel sanal sunucular üzerinde çalışıyor (Azure denediğimizde çok yavaştı.) Şimdi gördüğüm en kötü suçluların bazıları Wordpress ve Drupal gibi CMS sistemleri, muhtemelen çalışıyor sitenin aldığı trafik miktarına göre çok yavaş veya az kullanılan bir donanım. -HK1


10
Oyundaki birçok faktör olabilir. Bu anı kullandığınız site .NET üzerine kuruludur ve genellikle çok hızlıdır (eksi arıza süreleri / bakım süreleri). Bu sitelerin geliştiricileri size tonlarca veri veya yavaş bağlantılar veya aşırı yüklenmiş sunucular vb.
wkl

4
@birryree Yorumunuzu cevap olarak eklemelisiniz, çünkü oradaki kafadaki çiviye çok fazla vuruyorsunuz.
Adam Lear

Bu sorunu basitçe arka planda kodlama ile çözdüm, buradan kontrol edebilirsiniz
VnDevil

Yanıtlar:


22

Düşünebileceğim beş olasılık (bazı gelişmiş önbellekleme tekniklerinin yanı sıra):


Bir örnek veremez misiniz?
JeffO

1
ViewState de bu sorunlarda rol oynamaktadır.
Erin

1
1) Başka bir deyişle, ASP.NET asp classic'ten daha fazla kaynak kullanıyor mu?
HK1

1
Ben büyük cevap (veya burada diğer cevapların herhangi biri) belirtilmeyen başka bir ortak sorun yavaş veritabanı erişimi olduğunu düşünüyorum. Birkaç "bütçe" web hosting şirketleri kullandım (ağ çözümleri, herhangi bir isim söz değil) ve veritabanı erişimi (SQL Server) nedeniyle bazı oldukça yavaş yavaş çıkışlar oldu.
HK1

8

Görünüşe göre bu cevap değerli olabilir.

Oyundaki birçok faktör olabilir. Bu anı kullandığınız site .NET üzerine kuruludur ve genellikle çok hızlıdır (eksi arıza süreleri / bakım süreleri).

Gittiğiniz bu sitelerin geliştiricileri size tonlarca veri veya yavaş bağlantılar ya da aşırı yüklenmiş sunucular vb. Ayrıca, belki deli javascript oyun ve IE çalıştırıyorsunuz? Veya flaş?


4

Ne yaptığınızı gerçekten bilmiyorsanız, ASP.NET WebForms, http'nin durumsuz doğasını gizleyebildiği kadar bile, denetimleri bir forma bırakarak bir web uygulaması oluşturmanıza olanak tanır. Çalışır, ancak özellikle veri erişim katmanınız dizin içermeyen bir sql express veritabanından her şeyi seçerek oluşturulan sorgular içeriyorsa, bu tür bir geliştirme asla verimli kod üretmez.

Orada web uygulamaları gerçekten nasıl çalıştığını anlayan insanlar tarafından geliştirilen, hızlı asp.net web siteleri bol vardır. Bu siteyi içerir - tek tek isteklerin işlenmesi üzerinde çok daha fazla denetim sağlayan ve .aspx uzantısını göstermeyen ASP.NET MVC kullanır.


3

Sadece ayný ţeyi fark ettiđim gibi spekülasyonlar. O .asp siteleri şüpheli eğilimindedir (sözcüğü fark eğilimi ya da veri merkezlerinde barındırılan aksine kendini, bir şirketin sunucularında barındırılan olmak). Bu nedenle, genellikle yüksek hızlı web trafiği için tasarlanmamış donanım ve bağlantılarda çalışırlar. Soğuk füzyonla çalışan sitelerin de bundan muzdarip olduğundan şüpheleniyorum.


2

Bir web sitesi yüklendiğinde (application.start olayı), her şeyin belleğe yüklenmesi zaman alır. IIS ayarlarına bağlı olarak, yaklaşık 20-30 dakika boyunca herhangi bir işlem yapılmazsa, yük boşalır. Ben GETher 10 + dakikada bir hizmet yapmadan uygulamayı sürekli çalışan tutmak için iyi bir yol rastlamak değil .

Kötü tasarlanmış bir arka uç / veri katmanı, her şeyi yavaş çalıştırabilir (bilgisayar ne kadar hızlı çalışırsa çalışsın). Profil oluşturma, sorunların nerede olduğunu belirlemenize yardımcı olacaktır.


1

Kesinlikle bunu hayal ediyorsunuz. :)

Herhangi bir yazılımla birçok faktör devreye girer. Mimari, kod akışının fazlalığı, kodun kalitesi, vb. Listeye başlamak için çok fazla.

ASP'nin kurumsal düzeyde kullanım için iyi olduğunu kanıtlamak ister misiniz? Bu site (ve tüm SE) web siteleri ASP.Net - özellikle MVC kullanılarak yapılır.

Bu site en son ne zaman yavaş kaldı? Bir yıldan fazla bir süredir buradayım ve bir zamanlar büyük kullanıcı tabanına rağmen bir şeyler çektiğimi fark etmedim.


0

Viewstate, postback'leri gerçekten yavaşlatabilir. Bir sayfada ciddi büyük açılır listeleriniz varsa, bunların üzerinde görüntüleme durumunu kullanmamalısınız.

Viewstate, durum bilgisi olan bir winforms uygulaması üzerinde çalışıyormuş gibi davranmanıza olanak tanır. Bu bazen başını belaya sokabilir.


0

Yukarıdakilerin hepsi muhtemelen doğrudur. Üzerinde çalıştığım ASP.NET sitesinde performansı etkileyen en büyük tek faktör, onunla ilgili her şeyin eski olmasıydı. .NET framework sürümü, sunucular, veritabanı altyapısı ve kodun kendisi kötü yaşlanıyordu.

Birçok ASP.NET sitesinin kurumsal site olma eğiliminde olduğundan şüpheleniyorum. Bunlar çok fazla sevmiyorlar, çünkü sadece çalışma eğilimindeler . İnsanlar gerekene kadar onları yeniden yazmazlar, bu da genellikle yolda çok uzun bir zamandır.

Kullanılan ASP.NET ile çalıştığım sitenin sadece çok daha verimli JITing ve aklı önbellekleme varsayılanlarına sahip olan çerçevenin en yeni sürümüne geçerek büyük bir hız kazandığını biliyorum.

ASP.NET sitelerinin birçoğunun nasıl düzgün ölçeklendiğini bilmediğini gördüğüm başka bir şey. Sitelerinin web bahçeleriyle doğru çalışacak şekilde tasarlanması toplulukta yaygın veya iyi belgelenmediğinden, uygun yük dengeleme ayarlarına sahip değillerdir. Sitenizi en başından itibaren web bahçeleri için tasarlamıyorsanız, IIS'nin sahip olduğu yerleşik ölçeklendirme mekanizmasını kullanamazsınız. Windows NLB ile yazılım yük dengelemesi çok yaygın değildir ve yönetimi karmaşıktır. (Bu, ASP.NET'in kurumsal yazılım olma eğiliminde olduğunu ve bu şeyleri doğru şekilde nasıl yapılandıracağını bilen BT uzmanları yerine, siteyi çalıştıran şirket tarafından yönetilme eğilimini ortadan kaldırmaktadır.)

F5'lerle donanım yükü dengeleme çok pahalıdır, ancak şirket ağlarındaki ASP.NET sitelerini ölçeklendirmek için en yaygın ve basit mekanizma gibi görünmektedir. Bence açık kaynak kalabalığı arasında, kullanıma göre otomatik olarak ölçeklenen serbestçe kullanılabilen açık kaynak araçlarını kullanarak yük dengelemeyi baştan inşa etmenizdir. ASP.NET dünyasında gördüğüm kadar yaygın değil.

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.