• 07-02-2015, 07:41:27
    #1
    Üyeliği durduruldu
    Selamlar arkadaşlar

    .NET ile yaptığım bir program var Lokal Area Network üzerinde çalışıyor ve bu program oracle veritabanı ile yine aynı L A N üzerindeki başka bir sunucuda koşan bir webservis aracılığıyla iletişim kuruyor.

    sunucu: windows server 2008 r2 SANAL SUNUCU, 16 adet cpu, 8 gb ram ve gigabit ethernet hattına sahip.

    programın açılışını örnek verirsek eğer bazen 3 saniye bazen 15 saniye. yani aynı kodlar çok tutarsız zamanlamalar yapıyor.

    beklediği yer webservis kısmı, SQL sorgusunu webservise gönderiyor ve webservisten öylece 5-6 saniye bazen de daha fazla süre sonuç bekliyor. yine bazen de aynı sql sorgusu için saniye dolmadan cevap geliyor. yani cevap süreleri inanılmaz derecede tutarsız.

    sql kodunu TOAD üzerinden deniyorum gayet hızlı. Webservise browser arayüzü ile bağlanıp deniyorum, gayet hızlı, ama ne hikmete ugyulama içerisinden çalıştırınca tutarsız. hızlı da diyemiyorum yavaşta.

    webservisin çalıştığı bilgisayara yada kendi bilgisayarıma ne kurabilirim ki sorgu sonuçlarının gecikme sebebini bulabileyim?

    Sunucuda Cpu load genelde çok düşük %10 civarı, Memory load %50 civarı

    Tecrübeli arkadaşlar fikir verirlerse çok makbule geçer.

    Saygılar.
  • 07-02-2015, 17:39:22
    #2
    dinamik proxy şeklinde dener misin?
    silverlightın bir aracı ile servisi cs dosyasına çevireceksin (konum burası C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Tools\SLsvcUtil.exe
    )sonra o cs dosyasını projene ekle (direk olarak yaptığın add service/webservice yerine bu şekilde yapacaksın yani)

    ardından hangi binder kullanmışsan onla ilgili manual olarak binding propertylerini ver ve sonra da endpointini oluşturup servisin kurucu metoduna ver.

    o şekilde dene bakalım performans nasıl olacak dene bakalım. bizim şuan kullandığımız servisi böyle çalıştırıyoruz

    eğer secure bir bağlantı ise sertifika ekleyin
  • 08-02-2015, 10:23:57
    #3
    Üyeliği durduruldu
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    dinamik proxy şeklinde dener misin?
    silverlightın bir aracı ile servisi cs dosyasına çevireceksin (konum burası C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Tools\SLsvcUtil.exe
    )sonra o cs dosyasını projene ekle (direk olarak yaptığın add service/webservice yerine bu şekilde yapacaksın yani)

    ardından hangi binder kullanmışsan onla ilgili manual olarak binding propertylerini ver ve sonra da endpointini oluşturup servisin kurucu metoduna ver.

    o şekilde dene bakalım performans nasıl olacak dene bakalım. bizim şuan kullandığımız servisi böyle çalıştırıyoruz

    eğer secure bir bağlantı ise sertifika ekleyin
    teşekkürler. denerim hocam

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 10:23:57 -->-> Daha önceki mesaj 09:57:55 --

    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    dinamik proxy şeklinde dener misin?
    silverlightın bir aracı ile servisi cs dosyasına çevireceksin (konum burası C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Tools\SLsvcUtil.exe
    )sonra o cs dosyasını projene ekle (direk olarak yaptığın add service/webservice yerine bu şekilde yapacaksın yani)

    ardından hangi binder kullanmışsan onla ilgili manual olarak binding propertylerini ver ve sonra da endpointini oluşturup servisin kurucu metoduna ver.

    o şekilde dene bakalım performans nasıl olacak dene bakalım. bizim şuan kullandığımız servisi böyle çalıştırıyoruz

    eğer secure bir bağlantı ise sertifika ekleyin
    denedim hocam ancak oluşan dosyada webmethod functionları async sub haline getiriyor.

    Bu arada Vb.NET kullanıyorum, onu da belirteyim, bu sanki silverlight içerisinde kullanılacak hale getiriyor gibi. hepsi ASYNC çünkü.
  • 08-02-2015, 13:23:29
    #4
    evet hocam hepsi asenkron oluyor, her metod için bir tane event oluşturacaksın ya da delegate (action kullanarak daha kolay yapabilirsin)

    burdaki amaç hızına bakman, bir fonksiyonu çağırıp dönüşün ne kadar hızlı olup olmadığına bak.
  • 09-02-2015, 08:43:20
    #5
    Üyeliği durduruldu
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    evet hocam hepsi asenkron oluyor, her metod için bir tane event oluşturacaksın ya da delegate (action kullanarak daha kolay yapabilirsin)

    burdaki amaç hızına bakman, bir fonksiyonu çağırıp dönüşün ne kadar hızlı olup olmadığına bak.
    hocam silverlight ile yaptığım projem var onda dediğiniz gibi async hepsi ancak bunu async hale çevirmem imkansız, çok fazla kod var.

    ilginize teşekkür ederim.
  • 09-02-2015, 12:04:05
    #6
    silverlight toolu maalesef senkron metod desteklemiyor, bizim de serviste problemimiz vardı (ios için) bunu kullandım ve tek tek tüm metodları asenkron yaptım başka çare yoktu..

    aklıma tek gelen şey servisi eklerken ayarlarını değiştirip dene. sanırım web service yerine aslında WCF ile yapılsa daha iyi olabilirdi.

    bir de aklıma gelen şey platform değiştirerek deneyin. yani servisi hem masaüstünde hem webde hem wpf/silverlight uygulamasında, hem varsa mobilde deneyip sonuçlarına bakın. bu tutarsızlık nerden kaynaklanıyor bilmiyorum. Bir de debug mode yerine release de çalıştırmayı deneyin.

    kolay gelsin