Kategoriler


SON YORUMLAR
işsiz
bilgisayar mühendisi şu amk asp.net te şu get ile id i almayı bi öğrenemedim sikim böle işi php en iyisi better then
Ali yıldırım
Merhaba arkadaşlar c,c++,java,c#,php ödevlerinize uygun ücret ile yardim edebilirim iletisim=ali.yildirim.94@hotmail.com
Zekeriya
Microsoft ne iş yaparak bu kadar parayı kazanıyor?Sadece işletim sistemi ve ofisten bu kadar para gelir mi?118 bin çalışanı olupta neden bu kadar az yazılım yapıyor?Örnek grafik,animasyon,veri kurtarma,oyun vesaire.Bana kalırsa bir işletim sistemi bir çok işi kendi yapar.Dışarıdan herhengi uygulamaya ihtiyaç duymaz.Biz hala dışardan winrar yüklüyoruz.Neden işletim sitemini ve ofisi geliştirmiyor?Neden telefon piyasasına girmiyor?Ama kendi orjinelliğiyle,kendi anlayışıyla.Android veya ios.a yazılım yazmak zorlarına gitmiyor mu?Kendileri yazılmcı iken başkalarının yazdığı yazılımı kullanmaktan rahatsız olmuyorlar mı?Mesala o öyle mi yapılır?Şöyle bir özellikte olsaydı demiyorlar mı?Bahsettikleri çalışanların çoğu (72 bini) dışarda insan kaynaklarıyla uğraşıyorlar anladığım kadarıyla.Merkezdeki çalışan sayısı az.Güzel yazılımlar bekliyoruz.
Tutku
Teşekkürler sayende hayallerim yıkılmadı herkes diyordu meslek yok şu yok bu yok diye gerçeği söylediğin için teşekkürler b///k
Kaan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP ödevlerinizde yardımcı olabilirim. Geçmişte yaptığım projelerden birkaç tanesini https://github.com/kaan8792 adresinden inceleyebilirsiniz.Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan8792@gmail.com | Whatsapp: 05428339141
Ercan Sezdi
Elektrik elektronik mühendisliği okuyorum. Python ve C++ ödevlerinizi, python bitirme projelerinizi makul ücretler karşılığında yapabilirim. İletişim:ercansezdizero@gmail.com
Tatar Ramazan
Bırakın bu saçmalıkları ahirete çalışın. Özel sektörde namaz bile kılamazsınız. 3 günlük dünya için uğraş dur. Boş işler. Ben 22 yıl eve kapandım çalıştım 11 yaşından beri. İş dünyası ve kızlar yüzüme bile bakmadı. Mezunlar yoğun rekabet içinde kıvranıyor. Maaşlı eleman olmak için çırpınıyorlar. En zor işi yaptıracaklar size. Diğer taraftan bir sürü kişi kolay iş yaparak mercedese biniyor. Adam din kültürü öğretmeni oldu. Verdiğim emeğin çok daha azını verdi. Manken gibi de karı aldı. Biz ortada kaldık. Kemalizm boş vaadler sunuyor size. Laik kapitalist firmalar çoğunuza köpek gibi davranacak. Atatürkçü anne babalarınız ve öğretmenleriniz ahiretinizi düşünmüyor. Gaflet ve dalalet içinde yaşıyorsunuz. Ölünce çarpılırsınız. Bir sabah namazı özelde 20 bin maaş almaktan daha hayırlıdır. Çünkü ahiret sonsuzdur.
ismet
10. madde ne zamana gelir bekliyorum.
Tatar Ramazan
Bu iş zordur. Yüksek kapasite gerekir. Bazı firmalar ALES 85 olsa iyi olur diye ilanda yazar (would be an asset). İyi para kazanan, iyi kariyer yapanların çoğu ilk 5 bine girmiş adamlardır. Ben 16500.üncü olmuştum. Bizim bölümün birincisi bile öyle havada kapılmadı. Benimle aynı yerde sayılır konum ve para olarak. Çoğunuz en fazla bir kurumsal firmada vasat bir maaşa çalışırsınız. O da iyiyseniz. Ne Devlet ne de özel size iyi para vermek istemeyecek. Yoğun rekabet var. KPSS lisans çok zorlaştı. 2006-2008 arası sorularda 85-90 yapardım. Şimdi 75 puanı geçemiyoruz. Bu durumda çoğu özel firma tabii ki yüksek maaş vermez muhtaçsınız onlara diye. Mesleğin ve sektörün sıkıntılı taraflarını yazdım 20 madde çıktı. Yazılımcı olacaksanız bari javacı olun. Microsoft devamlı yeni teknoloji çıkarıyor. 3 senede eskirsiniz. Javada rakip daha az. 10 yıl deneyimliyim. 8 bin maaşa bile devlete giremiyorum bilişim uzmanı olarak. Site sahibi yazmış "Ayrıca 10 yıllık tecrübelere sahipseniz genellikle şirketler size çok yüksek maaşlar yerine hisse yada kar payı önermeye başlayacaklardır." He he öyledir(!..) Ben Ankarada özelden bizim kuruma kaçan 5-10 yıl deneyimli 10 kişi gördüm. 10 yıl deneyimli bilişim uzmanı aldık. Zavallı adama 3 kat maaş vermeleri gerekirken 2 kat olarak aldılar (5 yıl ve üstü deneyimde 3 kat brüt ücret veriliyor normalde). Her yer en iyi adama en az para vermeye çalışıyor. Hayattan adalet beklemeyin. Ben 10 yıldır milyar dolarlık zenginler gibi çalıştım yer yer. 10 tane teknolojiyi A dan Z ye öğrendim. Binlerce sorun çözdüm kod yazdım. Sonra MVC-Core modası çıktı. İş dünyası beni anında deliğe süpürdü. Memurluktan istifamı versem aç kalırım aç. Daha yükselmem gerekirken, çok iyi paralar kazanmam gerekirken düştüğümüz hale bak. Verdiğim emeğin onda birini vermeyenler benden çok daha iyi hayat yaşadılar ve de yaşamaya devam ediyorlar. Mesela adam mesleki ve İngilizce bilgisi olarak boş tenekeydi. Yurtdışına gidiyor devamlı. 1 sene kalıyor. Her gidişinde 10 tane ülke dolaşıyor. Ticaret yapıp yolunu buluyor. Ben size çalışmayın demiyorum. Hiçbiriniz başarılı, mutlu olamazsınız demiyorum. Umudunuzu koruyun. Bir kısmınız iyi yerlere gelecektir tabii ki. Ama önemli bir bölümünüz aradığını bulamayacak. Belediyeye bile almayacaklar. Çalışmazsanız toplum sizi suçlar. Çalışın ki en azından ben çalıştım ne yapayım meslek fos çıktı dersiniz. İnsanlar zalimdir. Cahildirler. Halden anlamazlar. Kıytırık harita mühendisi torpille Belediyeye girer. Onu adam görürler görüntüsü boyu da varsa. Sen çok daha kalitelisindir ama işsiz kalsan sana saldırılar. Düz mantıkla hareket ederler. İnce düşünemezler. Site sahibi para kazanamamaktan değil saygı kazanamamaktan korkun diyor. Şunu belirteyim ki: İş dünyası size köpek gibi davranacak. Toplum size saygı bile duymayacak. Kız da vermeyecekler. Verecek kızları yok zaten. Hepsinin sevgilisi var. Mezun olunca az sövün lan. Yazıktır. Milletin anası, karısı, bacısı var. Sizdeki de iyi cesaret haa! Derece yapanlar mühendislikten kaçıp Tıbbı yazıyor. Siz cesur davrandınız bu hengameye soktunuz kendinizi. %10-15 iniz yolunu bulur. Diğerleriniz için El-Faaaaaatiha!...Bilişim çağı, geleceğin mesleği de iyi keklemişler sizi. Doğrudur her şey yazılımla oluyor. Yapılacak daha çok yazılım var. Çok yazılım talebi var. Ama iyi para kazanıp bi bok olamıyorsun ki. Sen bir bankaya başvuruyorsun senin gibi 3000 kişi de saldırıyor. Benim gibi memur (kariyer uzmanız biz mühendisin bir üstü) olan arkadaş 7600 TL maaş alıyor. İstanbulda 6000 TL ye 6 yıl deneyimli adam çalıştırıyorlar. 2 çocuklu aile ancak geçinir. Sadece araba masrafları bir ton tutuyor. Hayat zor. Bu maaşları yüksek zannetmeyin. Mesleğin ve sektörün sıkıntılarını yazayım mı? Yok boooluum bunalıma girmeyin şimdi. Sonra yazarız. Realist olun. Kendinizi kandırmayın. Genetik-yaratılış olarak kime benzediğinizi tespit edin. Kaderiniz, eşiniz ve hayattaki başarınız ona benzeyecektir. Sistem okullarda insanlara boş hayaller sunuyor. Çoğunluk avucunu yalıyor. Kendilerini kandırıp 35-40 yaşına kadar iyi iş, iyi eş arıyorlar. Bulacak olan hemen bulur iyisini. 1 yılda olmuyorsa 10 senede de olmaz. Karşınıza çıkan işi ve eş adayını reddetmeyin. Daha iyisini beklemek sadece zaman kaybı. Daha kötüsü gelir. Zaman geçtikten sonra değil şimdi akıllanın. Tecrübe konuşuyor burda. İyi kıvranmalar...
cöp
robot yazmis bak authorize yapmamissin patlatmis
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Ado.Net 2.0 - Connection Pooling' in Önemi
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
NHibernate için Veri Erişim Katmanını Otomatik Oluşturma
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Newsweek - Top 500 Universities
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?

Bilgisayar Mühendisleri Portalı

Ado.Net 2.0 - Connection Pooling' in Önemi

 

Connectilon Pooling veritabanı programcılığında, uygulamaların performansını doğrudan etkiliyen unsurlardan birisidir. Bağlantıların bir havuza atılarak buradan kullanılmalarını sağlamaktaki en büyük amaç, çok sayıda kullanıcının bağlı olduğu veri tabanlı uygulamalarda, aynı özelliklere sahip bağlantı bilgilerinin defalarca oluşturulmasınının önüne geçmek bu sayede var olan açık bağlantıların kullanılabilmesini sağlamaktır. Temel mantık son derece basittir. Bir kullanıcı uygulaması içerisinden bir verikaynağına bağlanmak istediğinde, geçerli bir Connection nesnesi oluşturmak zorundadır. Bu Connection nesnesi eğer ilk kez talep edilmişse, veritabanı tarafında bir bağlantı havuzunun içine atılacaktır. Ki başka bir kullanıcı aynı veri kaynağına aynı bağlantı bilgisi ile bağlanmak istediğinde, havuzdaki bağlantıyı kullanabilecektir. Burada aynı bağlantı bilgisine başvuran birden fazla kullanıcı olduğunu düşündüğümüzde bu mimarinin önemi ortaya çıkmaktadır. Özellikle web tabanlı uygulamalarda bu fark büyük performans kazanımı anlamına gelmektedir. Biz bu makalemizde Connection Pooling’ in mimarisini incelemektense onu kullanırken dikkat etmemiz gereken noktalara değineceğiz. Ama herşeyden önce connection pooling’ i kullanmanın faydasını göreceğimiz basit bir örnek ile yola çıkmakta fayda olacağı kanısındayım.  Bunun için, Vs.2005’ de aşağıdaki kodlara sahip basit bir console uygulaması yazarak işe başlayalım.

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace UsingPooling
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection con = new SqlConnection("data source=MANCHESTER;database=AdventureWorks;integrated security=SSPI;
Pooling=false");
            DateTime dtBaslangic = DateTime.Now;
            for (int i = 0; i < 10000; i++)
            {
                con.Open();
                con.Close();
            }
            DateTime dtBitis = DateTime.Now;
            TimeSpan tsGecerSure = dtBitis - dtBaslangic;
            Console.WriteLine("Geçen süre {0} milisaniyedir.", tsGecerSure.TotalMilliseconds.ToString());
        }
    }
}

Öncelikle bu uygulamada ne yapıyoruz kısaca bunu açıklayalım. Uygulamamız Sql Server 2005 üzerinde yer alan AdventureWorks isimli veritabanına, 10000 defa bir bağlantı açıp kapatıyor. Burada döngü içerisinde gerçekleşen olayları, sisteme bağlanan 10000 farklı kullanıcının kod kısmı olarakta düşünebilirisiniz. Aynı bağlantı bilgisi için defalarca açma ve kapatma işlemini yapıyoruz ve bu işlemler sonrası oluşan süre farkına bakıyoruz. Burada bağlantı bilgisine dikkat ederseniz Pooling özelliğinin bilerekten false olarak atandığını görürsünüz. Yani ilgili connection bilgisinin herhangibir şekilde havuza atılmayacağını (Connection Pool’ da tutulmayacağını) belirtmiş oluyoruz. Bu haliyle uygulamamızı çalıştırdığımızda aşağıdaki gibi (ya da kullanıdığınız çevresel parametrelere göre bu sonuca yakın) bir süre farkı elde ederiz.

Ancak Pooling=false özelliğini kaldırırsak (ki varsayılan hali true’ dur ve pooling’ in aktif olmasını sağlar) süre farkı çok daha az olacaktır.

Görüldüğü gibi, her iki uygulamanın çalışma süreleri arasında belirgin ve aynı zamanda dikkate değer bir zaman farkı oluşmuştur. Bu, Connection Pooling’ in herhangibir Connection nesnesine ait bağlantı bilgisi içerisinde hiç bir şey belirtilmesse zaten aktif olacağına şükredebileceğimiz bir durumdur. Ancak kodlama farklarından dolayı Pooling zaman zaman başımızı derde sokabilir. Bizim için sancı yaratacak iki farklı durum vardır. Şimdi kısaca bu durumlar inceleyeceğiz. İlk olarak aşağıdaki kodlara sahip olan ve Vs.2005 üzerinde geliştirilmiş basit bir Windows Uygulamasını göz önüne alalım.

private void btnExecute_Click(object sender, EventArgs e)
{
    try
    {
        SqlConnection con = new SqlConnection("data source=MANCHESTER;database=AdventureWorks;integrated security=SSPI;Min Pool Size=10;Max Pool Size=15");
        SqlCommand cmd = new SqlCommand("SELECT Count(*) FROM
Person.Contat", con);
        con.Open();
        int kontakSayisi=Convert.ToInt32(cmd.ExecuteScalar());
        con.Close();
        }
        catch(Exception err)
        {
            lstExceptions.Items.Add(err.ToString());
        }
}

Burada button kontrolüne basıldığında çalışan kodlarda, Person.Contat isimli tablodaki kayıt sayısını öğrenebileceğimiz bir sorgunun çalıştırılmasını görüyoruz. Burada kod, try/catch bloğuna alındığından, sql komutlarının yürütülmesi yada bağlantının açılması sırasında oluşacak hatalara karşı programı koruma altına aldığımızı düşünebiliriz. Ancak Contat(Contact olması gerekirdir) tablosu AdventureWorks isimli veritabanında mevcut değildir. Bu yüzden kod çalışma zamanında bir SqlException verecektir. Ancak bu kodu birden fazla sayıda kullanıcının tetiklediğini düşünürsek (örneğimizde butona defalarca basarak bu durumu canlandırabiliriz) başımıza korkunç işler gelebilir. Öyleki, SqlCommand sınıfından olan cmd nesnesi execute edilirken oluşan hata, con nesnesinin kapatılmasını engellemektedir. Bu sunucu üzerindeki bağlantı havuzunda açık kalan bir bağlantı demektir. Button kontrolümüz tetiklendikçe, açık bağlantı sayısı artmaya ve bir süre sonrada bağlantı havuzundaki maksimum bağlantı sayısını aşmaya başlayacaktır. Bu durum böyle devam ederekten sonuçta uygulamanın SqlException istisnasından vazgeçerek zaman aşımına bağlı olaraktan InvalidOperationException istisnasını fırlatmasına neden olacaktır. Şu aşamada istisnanın tipinden ziyade açık kalan bağlantıları sürekli olarak artması çok tehlikeli bir durumdur. Aşağıdaki ekran görüntüsü, yukarıdaki uygulamada button kontrolüne defalarca basılaraktan elde edilmiştir.

Bu görüntüde yer alan NumberOfReclaimedConnections sayacı (Counter), .Net 2.0 ile birlikte gelen yeni performans ölçüm değerlerinden birisidir ve havuzda yer alıpta kapatılamayan bağlantı sayılarına ilişkin bilgileri vermektedir. Grafiktende görüleceği üzere açık bağlantılar sürekli artmıştır. Uygulama bunun sonucunda SqlException’ dan çıkarak zaman aşımı (Timeout) nedeni ile InvalidOperationException’ a sürüklenmiştir.

NumberOfReclaimedConnections, .Net 2.0 ile birlikte gelen Performans sayaçlarından (Performance Counter) birisidir. Bu sayaç .Net Data Provider For Sql Server performans nesnesi (Performance Object) altında yer almaktadır.

Aslında hatanın nedeni son derece basittir. Connection sınıfına ait nesne örneğinin kapatılması garanti altına alınmamıştır. Bu gerçekten önemli bir hatadır. Bu durumu düzeltmek için ya finally bloğu eklenmeli ya da işlemler aşağıdaki kod parçasında olduğu gibi using blokları içerisinde gerçekleştirilmelidir. Nitekim using bloğu doğal olaraktan kullandığı nesnenin dispose edilmesini garanti altına alır.

private void btnExecute_Click(object sender, EventArgs e)
{
    try
    {
       
using (SqlConnection con = new SqlConnection("data source=MANCHESTER;database=AdventureWorks;integrated security=SSPI;Min Pool Size=10;Max Pool Size=15"))
        {
           
using (SqlCommand cmd = new SqlCommand("SELECT Count(*) FROM Person.Contat", con))
            {
                con.Open();
                int kontakSayisi = Convert.ToInt32(cmd.ExecuteScalar());
            }
        }
    }
    catch (Exception err)
    {
        lstExceptions.Items.Add(err.ToString());
    }
}

Görüldüğü gibi bu kez havuzda açık kalan hiç bir bağlantı yoktur. Bunu görmek için uygulamayı test ettiğimizde, yukarıdaki ekran görüntüsünde olduğu gibi NumberOfRecalimedConnections sayacının (Counter) sıfır olarak seyrettiğini görürüz. Dolayısıyla uygulamadaki bağlantılar için maksimum havuz boyutunun aşılması ve nihayetinde InvalidOperationException istisnasına sürüklenilmesi engellenmiştir. Herşeyden önemlisi ne kadar çok kullanıcı bu kodu çalışıtırırsa çalıştırsın, havuzda açık kalan herhangibir bağlantı olmayacaktır. Şimdi gelelim connection pooling ile ilgili diğer önemli noktaya. Aşağıdaki örnek console uygulaması bu durumu canlandırmak için geliştirilmiştir.

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace Pooling_3
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                for (int i = 1; i < 100; i++)
                {
                    KontakSayisiniBul();
                }
            }
            catch (SqlException err)
            {
                Console.WriteLine(err.Message.ToString());
            }
            Console.ReadLine();
        }
   
        private static void KontakSayisiniBul()
        {
            using (SqlConnection con = new SqlConnection("data source=MANCHESTER;database=AdventureWorks;integrated security=SSPI;Min Pool Size=5;Max Pool Size=15"))
            {
                SqlCommand cmd = new SqlCommand("Select Count(*) From Person.Contact", con);
                con.Open();
                int kontakSayisi = Convert.ToInt32(cmd.ExecuteScalar());
                System.Threading.Thread.Sleep(1500);
            }
        }
    }
}

Bu örnekte son derece anlamsız bir şekilde 100 defa Contact tablosundaki eleman sayısını hesaplatmaktayız. Bu işlemleri yaparken durumu daha iyi analiz edebilmek içinde kodu 1,5 saniye kadar duraksatıyoruz. Bu işlem sonradan Sql Server Servisini restart etmemizde bize zaman kazandıracaktır. Kodu, aynı işlemi sunucuya doğru gerçekleştiren n sayıda kullanıcı ekranına ait bir uygulamanın parçası olarakta düşünebiliriz. N sayıda kullanıcı sunucuya bağlanıp sorguyu çalıştırdıkları sürece, sunucunun başına çeşitli haller gelebilir. Örneğin, Sql Server Servisi bir şekilde baştan başlatılmış (Restart) olabilir. (Bu çoğunlukla sql sunucusunu barındıran bilgisayarın istem dışı restart olması halinde gerçekleşebilecek bir durumdur.) Eğer böyle bir durum söz konusu olursa, havuzda duran bağlantı bilgileri servis yeniden çalışsa bile erişilemez hale gelecektir. Örneğimizi çalıştırdıktan sonra Sql Server servisini baştan başlatacak olursak, servis durup yeniden çalışmaya başladığında ilgili uygulama ortama bir SqlException istisnası fırlatacaktır.

Bu istisnanın nedeni artık havuzda duran bağlantı bilgilerinin yapısının, servisin yeniden başlatılması nedeni ile bozulmuş olmasıdır. Bu sorunu çözebilmek için yapılabileceklerden bir tanesi ve en kolayı, havuzdaki bağlantıları sıfırlamak bir başka deyişle havuzu boşaltmaktır. Ado.Net 2.0’ da Connection sınıflarına bu işlemleri kolay bir şekilde yapabilmek için iki yeni metod eklenmiştir. Bu metodların prototipleri aşağıdaki gibidir.

Metod Kısa Açıklama
public static void ClearAllPools () Havudaki tüm bağlantıları boşaltır.
public static void ClearPool (SqlConnection connection) Parametre olarak verilen bağlantıya ait havuzu boşaltır.

Bu metodların uygulanması halinde yukarıdaki çalışma zamanı hatası ile başedebiliriz. Aslında bu metodlar, bağlantı havuzunu boşaltırken ilgili bağlantı nesnelerini kapatmazlar. Sadece bunların artık kullanılmayacağını belirtirler. Yukarıdaki örnek uygulamamızı aşağıdaki gibi değiştirmemiz etkili bir çalışma zamanı çözümü olacaktır.
 

try
{
    for (int i = 1; i < 100; i++)
    {
        KontakSayisiniBul();
    }
}
catch (SqlException err)
{
    if (err.Number == 233)
    {
       
SqlConnection.ClearAllPools();
    }
}

Uygulamamızı bu haliyle çalıştırırsak çalışma zamanında herhangibir istisna almayız. Az önce değindiğimiz gibi bu sorunun daha zor olan ama daha güçlü olan bir çözümü daha vardır. Bu Failover Partner adı verilen gene bir çözümdür. Kısaca, sql sunucusunun yanında ayna(Mirror) görevi gören bir sunucu ve birde tanık(Witness) görevi gören başka bir sunucu vardır. Bu sistemin konusu makalemizin sınırlarını aşmaktadır. Bu konuya ilerleyen zamanlarda ayrıca vakit ayırmayı düşünüyorum. Görüldüğü gibi bağlantı havuzlarını kullanırken başımıza gelebilecek iki önemli tehlike üzerinde durmaya çalıştık. İlki kesin olarak kapatılmayan bağlantı nesnelerinin yol açtığı sorundu. Bunun çözümü için en etkili yöntem olarak using bloklarına başvurduk. Diğer sorunumuz ise, çalışma zamanında veritabanı sunucusunun herhangibir neden ile sıfırlanmasıyıdı. Bu sorunu ise, hata kodunu ele alıp bağlanyı havuzlarını boşaltarak çözdük. Böylece geldik bir makalemizin daha sonuna. Bir sonraki makalemizde görüşünceye dek hepinize mutlu günler dilerim.

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

mehmet(2.3.2012 15:25:03)
iyi valla isimi gordu saol
%0 %0 %0
Katılıyorum Çekimserim Katılmıyorum



ilker yiğit(18.1.2011 10:25:36)
Emeğinize sağlık çok güzel bir makale
%50 %25 %25
Katılıyorum Çekimserim Katılmıyorum



Mustafa Yolcu(7.11.2009 14:37:10)
Çok başarılı bir makale olmuş. Pooling ile ilgili bilgisi olmayan birini aydınlatacak, sade ve temiz bir dil kullanılmış güzel bir makale.

Tebrik Ederim.
%67 %17 %17
Katılıyorum Çekimserim Katılmıyorum






Copyright© 2001-2019. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.