ForumTayfa  

Go Back   ForumTayfa > Güvenlik & Bilgisayar & İnternet & Webmaster & Programlama Bölümü > Güvenlik & Bilgisayar & İnternet & Webmaster & Programlama > ASP, Perl, Php, Html

ASP, Perl, Php, Html ASP, Perl, Php, Html, Java gibi her tür programcılık dili için yardım alabilceğimiz bölüm...

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 11.01.09, 12:16   #1 (permalink)
Acemi Tayfa
 
ShıFтdєLєтє - ait Kullanıcı Resmi (Avatar)
 
Üyelik Tarihi: Dec 2008
Nereden: Ankara/Batıkent
Mesaj Sayısı: 402
Konu Sayısı: 91
Takım: Fenerbahçe
Rep Gücü: 12706
Rep Puanı: 1269432
Rep Derecesi : ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000ShıFтdєLєтє 0-2000000
Ruh Hali:

Standart Sitemizin Performasını Artıralım




Web uygulamalarımızda sitelerimizin hızı son kullanıcı için oldukça önemlidir. Günümüz internet kullanıcıları için bu zaman 3-5 saniye olarak belirlenmiştir.

Yani sitemiz bu zaman zarfı içerisinde hedef ekranda belirmiş olmalı. Aksi takdirde bir e-ticaret siteniz olduğunu düşünün ve sizin için bir gelir kaynağı, bu gecikme size pahalıya malolacaktır.

İşte bu noktada kullanıcının bağlantı hızını, bilgisayar donanım özelliklerini kontrol etme şansımız yoktur ama kendi yazılımımızda böyle bir şansımız vardır. Yani bir çok iyileştirmeye gidebiliriz. Peki sitemizin performansını artırmak için neler yapabiliriz şimdi bunlara bakalım.

* Uygun trafik limiti belirleyebiliriz.
* Sunucu performansımızı ayarlama şansımız var. (işlemci ve RAM)
* Sunucuda çalışan diğer bileşenler. (Gereksiz eklentiler sunucumuzu yoracaktır.)
* Veri tabanı bağlantımız ve bağlantı şeklimiz. (MSSQL Server, Oracle, MySQL ve tabiki hepsinin farklı bağlantı şekilleri vardır, bunları diğer ASP derslerimizde bulabilirsiniz.)
* Kullanılan dil. Yani VisualBasic mi Perl mi?
* Stored Procedure kullanımı. (Saklı kavramların kullanımı.)
* ASP scriptleri yerine COM nesneleri tercih etme.
* Ve tabiki güzel bir kodlama biçimi.

Bu saydıklarımız akla gelebilecek en bariz olanlarıydı. Biraz daha yakından bakalım bu performans artırım olayına.

ASP Scriptimizin Kapladığı Alan

Sayafalarımız uzun mu yada uzunluktan kastımız ne? Eğer bu şekilde bir kodlama yolu seçtiyseniz site daha başlarken boğulacaktır.
Yani ne kadar çok satır kodlamışsak sunucunun da bize sayfa üretimi doğru orantıda zaman artışına neden olacaktır.

Eğer çok büyük bir proje kodlamışsak nelere dikkat etmeliyiz?

* Sunucu taraflı olarak çalıştırma yoluna gidebiliriz. Yani Visual Basic DLL dosyaları oluşturabiliriz veya ActiveX bileşenleri ile yorumlatabiliriz. Aslında burada ActiveX performans artırımından ziyade yazılımımızın güvenliğinide sağlayacaktır. Çünkü çoğu web sahibinin kendine ait sunucusu yoktur.

* Mantıklı veri servisleri kullanmalıyız. Uzun prosedurler kullanmaktan kaçınmalıyız. Aynı işlevi projemizde bir çok yerde kullanacaksak defalarca yazmak yerine fonksiyonlara bölmeli ve o şekilde kullanmalıyız.

* #include, evet sayfalarımıza eklediğimiz dosyalar ve ebatları siteyi yoracaktır. Bu yüzden bellekte tutturabiliriz. Yada Server.Execute gibi yöntemler kullanabiliriz.(ASP derslerinde bununla ilgili bilgi vermiştim bakabilirsiniz.)

* Response.IsClientConnected bu yapıyı kullandığınıza emin olun yani kullanıcı uzun süre sitede işlem yapmayacaksa CPU meşgul etmesine izin vermeyin.

ASP ve HTML Etkileşimi

Örnek bir tablo açalım.

<table> <tr> <td>Adınız:</td> <td>Soyadınız:</td> <td>E-Mail:</td> </tr> <tr> <td><%=RS("Ad")%></td> <td><%=RS("SoyAd")%></td> <td><%=RS("Mail")%></td> <tr></table>

if kullanımlı başka bir örnek verelim.

<%If not Session("VeriTabaniAktif") then%><h1>Veri tabanımıza bağlı değilse.</h1><%Else%><h1>Veri tabanımıza bağlı ise.</h1><%End If%>

Her iki kullanım şeklinde de ASP performansımız kendini kayda değer bir şekilde fark ettirecektir.

<%If not Session ("VeriTabaniAktif") thenResponse.Write "<h1>Veri tabanımıza bağlı değilse.</h1>"ElseResponse.Write "<h1>Veri tabanımıza bağlı ise.</h1>"End If%>

Session Kullanımı

Şüphesiz ASP deki bu olgu büyük bir özelliktir bizim için o yüzden etkili bir şekilde kullanmalıyız. Ama kesin olan şey şudur;
Session kullanımı sunucuyu parçalara bölmektir yani her kullanıcı için bir durum oluşturmak o yüzden kullandığımız veri tiplerine
bakaraktan bunu iptal edebiliriz.

@EnableSessionState = False

Bu nedenlerle session ile yüklü veri kullanımından kaçınmalıyız aynı şekilde gereksiz kullanımından da uzak durmalıyız.

Veri Tabanı Etkileşimi

Web sitemizde bir veri tabanı olması demek otomatikmen site yavaş çalışacak demektir. Çünkü burada binlerce veriden söz ediyoruz. O yüzden nasıl bir bağlantı şekli belirledik ve nasıl bir sorgulama yöntemi kullandık önemlidir.

* Veri tabanımız indekslenmiş olmalı bu bizim lehimize olacaktır.

* Sürekli SQL sorguları yerine StoredProcedure kullanmak performansı olumlu etkileyecektir.

* SQL ifadelerimizi dikkatli seçmeliyiz yani where genel kullanımı ve having kullanımı gibi aynı şekilde join, sort gibi ifadelerde etkin olarak kullanılmalı.

* Yaptığımız işin önem ve büyüklüğüne göre veri tabanı seçmeliyiz yani SQLServer olmalı büyük bir projenin doğru veri tabanı seçimi.(Ben Microsoft ürünleri kullandığım için.)

*OLEDB ve DSN'siz bağlantı şekilleri kullanın, çünkü çoklu bağlantı ve erişimler için idealdir. DAO veya RDO biçimlerinden sakının bunlar daha ziyade tekli erişimler içindir.

*Açtığımız recordsetlere dikkat etmeliyiz herhangi bir güncelleme yoksa sadece readonly olarak tanımlamalıyız yani sadece veri okunsa yeterli olacaktır.

ASP Kodlama Kısmına Bakalım Şimdi

* Boş olarak Session_OnStart veya Session_OnEnd methotları kullanmayın.

* Kullanıcı veri girişlerinde daha çok kullanıcı taraflı doğrulama şeklini kullanın, HTTP gereksinimlerinin yükünü hafifletecektir.

* Nesne kullanımında nesneye gerçekten çok önemli derecede ihtiyaç yok ise <OBJECT> tagları kullanmak Server.CreateObject kullanmaktan iyidir. Nedenine gelince nesne gereksiz bile olsa sunucu onu üretecektir buda gereksiz meşguliyettir.

* OPTION EXPLICIT aktif etmeliyiz. Visual Basic de tanımlanmamış değişkenlerde kullanabiliriz eğer bu metodu kullanmassak sunucu bunlar için değişken üretmek zorunda kalacaktır ama aktif ise zaten değişken olarak algılayacaktır buda performansımıza yansıyacaktır.

* Gerekli olmadıkça Server.MapPath kullanmayın.

Şimdi bakalım, sitemizin son durumu nasıl oldu?

Standartlara göre 10 saniye artı sunucuda %30 luk bir CPU kullanımı kazandık ve saniyede neredeyse 20 sayfa yüklendi. Sistem performansınızı bazı araçlar yardımı ile de ölçebilirsiniz bunlardan önereceğim NetMon ve PerfMon'dur.

Ayrıca Microsoft'un kendine ait testlerine de katılabilirsiniz.
[Sadece Kayıtlı Kullanıcılar Linkleri Görebilir.Kayıt Olmak İçin Tıklayınız...]

Eğer tüm bu düzenlemeleri yapmışsanız gerçekten sitenizde gözle görülür bir hız artışı olacaktır.

Kolay gelsin...



__________________

ShıFтdєLєтє isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 05:24.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0
User Alert System provided by Advanced User Tagging v3.0.6 (Lite) - vBulletin Mods & Addons Copyright © 2020 DragonByte Technologies Ltd.
ForumTayfa

Arşiv: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 102 103 104 105 106 155 156 157 158 159 160 161 162 163 164 167 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271


ForumTayfa - Link Değişimi
Telinka İletişim | Voip Ürünleri | Link Değişimine Katılın |

Sitemiz bir forum sitesi olduğundan dolayı, kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir. ForumTayfa Yöneticileri mesajları itina ile kontrol etse de, bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Yine de sitemizde yasalara aykırı unsurlar bulursanız [email protected] email adresine bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.

Any member of our web site has the right of adding comments instantly without getting permisson due to the forum structure of our site basis. Althought, our site modarators check comments with care, all the responsibilities sourced from these comments directly belong to the members. If you still find any illegal content in our site ( A.buse, H.arassment, S.camming, H.acking, W.arez, C.rack, D.ivx, Mp.3 or any Illegal Activity ), please report us via [email protected] .Your reports will be evaluated as soon as the arrival of your e-mail.