none
Timeout sorunu RRS feed

  • Soru

  • Merhaba 50 üstü kullanıcıdan veri depoladığım bir veri tabanım var 8 9 aydır sorunsuz olarak kullanıyorum ancak son dönemde kullanıcıların evraklarını da veritabanına kaydetmelerini istediğim için bir güncelleme yaptım fakat güncellemeden sonra evrakları veritabanına kaydederken yani update ve insert komutlarında sorun olmasa da select komutu çalıştırılıpta evraklar görüntülenmek istendiğinde timeout hatası alınmakta bu hatayı 10 15 saniye içinde vermekte. bir türlü altından kalkamadım yardım rica ediyorum. sorun kullanıcı sayısından kaynaklanıyor olabilir mi durum böyleyse ben bu sayıyı nasıl arttırabilirim pasif olarak görünüyor 

    

     
    26 Ocak 2017 Perşembe 13:03

Yanıtlar

Tüm Yanıtlar

  • Hangi uygulama? Hangi Teknoloji? Orada gördüğünüz User sayısı sizin anladığınız User sayısı değil. 

    pgnchess.com

    dergikapaklari.com

    26 Ocak 2017 Perşembe 13:07
  • Varsayılan Isolation seviyesinde (read committed) Update, Insert anında zaten Select bekler. Konu bu isolation level yüzünden mi anlamak için select sorgunuzun from kısmını FROM Tablo WITH(NOLOCK)  olarak değiştirip deneyin. Bu beklemeyi çözerse (phantom read,dirty read gibi yan etikeleri olduğundan bir tarafı çözerken başka şeyleri bozabilirsiniz) insert,update lere yönelmenizde fayda var. NOLOCK ile donma gidiyor ama insert,update sürelerini kısaltamıyorsanız snapshot çözümlerine gitmek gerekebilir. Ama iyi bir dba'e danışmak önemli.



    26 Ocak 2017 Perşembe 13:16
  • programı c# dilinde yazıyorum. sql serverım 2008 r2 express. bu her zaman yaşadığım bir sorun değil arada bir yapıyor ancak hangi durumlarda yaptığını da çözebilecek bir veri elde edemedim. bazı durumlarda 250 kb'lık bir dosyayı getirirken timeout hatası alıyorum bazı durumlarda da 5 mb'lık dosyalar gelirken sorunsuz geliyor. bu arada şunu da belirtmek isterim bilgisayar mezunu falan değilim teknik tabirlerin çoğundan anlamayacağımı düşünüyorum merak üzerine program yazmayı öğrendim yarım yamalak aklım yettiğince kendimi geliştiriyorum desteklerinizi bu durumu göz önüne alarak verirseniz mutlu olurum :)
    26 Ocak 2017 Perşembe 13:42
  • Select'e konu olan sorgunun o anda silinen ya da o eklenen ama henüz eklenmemiş bilgileri göstermesi kabulün ise

    select * FROM TABLO WITH (NOLOCK)  WHERE ...

    şeklinde yaz sorgunu, söylediğin durumun tekrarlanmasına göre bir sonraki adıma karar verelim.

    26 Ocak 2017 Perşembe 14:05
  • tamam deneyeceğim (o anda silinen ya da o eklenen ama henüz eklenmemiş bilgileri göstermesi) bu cümlenizden anladığım veritabanının işlemi henüz tamamlamamış olmasından bahsediyorsunuz sanırım. Bu pek olası bir durum değil çünkü herkes sadece kendi eklediği verileri getirebiliyor ekleme işlemi bitmeden de sorgulama yapamıyorlar tabi bu benim algıladığım. veritabanı bu işlemi ne kadar sürede tamamlıyor bilemiyorum. işlemin sonucunda bunların dışında yaratacağı bir sıkıntı var mıdır?
    26 Ocak 2017 Perşembe 14:15
  • Veritabanına öğretmediyseniz ahmet sadece kendi bilgilerini okuma  sorgusu, mehmetin sadece kendi bilgilerini yazmasını bekler. Yukarıdaki kullanımda ise beklemez. Uygun ahmet, mehmet ayrımına index koymanız da bir çok işi hızlandıracaktır. DB tasarımını siz yaptınız ben nolock kullanın veya kullanmayın diyemem, ACID konusunda bir kaç arama yapmanızı tavsiye edebilirim ancak.





    26 Ocak 2017 Perşembe 14:23
  • teşekkür ederim inceleyeceğim.
    26 Ocak 2017 Perşembe 14:41
  • tamamdır arkadaşlar sorunumu sorgumu çektiğim sqldataadapterına aşağıdaki satırı ekleyerek çözdüm.

    adapter.SelectCommand.CommandTimeout = 0;



    29 Ocak 2017 Pazar 19:54