.Net Core Ef Core İlk Request Yavaşlık Sorunu
-
Abi, şu örneği bilinen bir yere atın da biz de faydalanalım.
Dapper'a geçmedim henüz ama faydalı olur diye düşünüyorum.
@unbalanced
-
buyrun arkadaslar :) https://yadi.sk/d/-GqAszIl4oTW2g
kullanim txt var orada anlatmaya calistim.
birden fazla join türünü destekliyor. Ancak sadece iki tablo birlestirebiliyorsunuz, belki biraz daha dinamik yapip birden fazla tablo birlestirebilirsiniz (benim projede 2 tablo yettigi icin ugrasmadim)
where clause da sadece = (esitlik) kontrolü yapiyor, isterseniz büyük, kücük, like gibi eklentiler yapilabilir
Gelistirmeye acik istediginiz gibi kullanin :))
-
Valla apm, profiler veya monitör araçlarını kullanmayı öğrenmedikten sonra ef veya başka birşey kullanmanın anlamı yok. Sorunu tespit edemiemişin ki başka birşey denemişin. Genelde performans sorunları uygulama kodundan kaynaklanır. Bu sorunları çözemezsiniz o zaman.
-
tagext bunu yazdı
Valla apm, profiler veya monitör araçlarını kullanmayı öğrenmedikten sonra ef veya başka birşey kullanmanın anlamı yok. Sorunu tespit edemiemişin ki başka birşey denemişin. Genelde performans sorunları uygulama kodundan kaynaklanır. Bu sorunları çözemezsiniz o zaman.
Hocam profiler ile kontrol ettik. Sorgu geldiği anda dönüyor ancak sorgu gelmesi 13snye sürüyor dbye. İnternette bu durumu araştırdım ve EF Warm up diye bir olay var ve arkada 50 takla attıran bir çok konu mevcut. Aynı proje içerisinde dapper ile attığım request 1sn ortalama ile geliyor ilk atılanlar. Sonrası ef yada dapper fark etmeksizin 20-30ms lerde.
@esin hocam bilmediğimden öğrenmesi vs olarak söyledim dapper'ı genelleyerek değil.
@unbalanced eyw hocam.
-
Dapper'ı kullan çok seveceksin. Birazda unbalanced hocamın örneğindeki gibi kendine göre özelleştirirsen tadından yenmez. Bundan sonra başka ORM aracı kullanmazsın.
-
DrKill bunu yazdı
Hocam sen şu dediğimi yaptın mı acaba? Sonuç olarak ne gözüküyordu?
Ayrıca genel anlamda söylüyorum
Ef gibi unit of work design patterni implement eden bir yapıda tekrardan repository design pattern kullanmak cidden mantıklı değil. Abstract of abstract yapıyorsunuz sonuç baştakiyle aynı aslında.
-
Hannibal_King bunu yazdı
Dapper'ı kullan çok seveceksin. Birazda unbalanced hocamın örneğindeki gibi kendine göre özelleştirirsen tadından yenmez. Bundan sonra başka ORM aracı kullanmazsın.
Dapper cidden ufkumuzu açtı. Esnekliği çok güzel. Sistemi dapper'a geçirmesi biraz zaman aldı ama cidden deydi. Başından beri Dapper deniyelim deniyordu, mecburiyetten geçtik şuanda sorunumuz yok.
Bu arada db'yi başka bir sunucuya alıp denedik sorun makul seviyede ortadan kalktı. Ancak Dapper daha iyi performans verince ve hoşumuza gidince neden olmasın diyip zaman ayırıp geçiş yaptık.
@unbalanced destek için teşekkürler hocam.
-
https://github.com/microorm-dotnet/MicroOrm.Dapper.Repositories
Alın size generic in dibi bir paket. Nuget üzerinden yükleyebilirsiniz. Mapping işlemini direk attribute üzerinden yapıyor. Class ınızdaki property üzerinde join i attribute olarak veriyorsunuz. Kendi sql i oluşturuyor (Örnek: https://github.com/microorm-dotnet/MicroOrm.Dapper.Repositories/blob/master/test/MicroOrm.Dapper.Repositories.Tests/Classes/User.cs ). @unbalanced hocamla çok araştırdık vakti zamanında :) . O konuda bundan daha efektif bir çözüm bulamadım ben. Bulan olursa alırım bi dal.
Not: Dapper en fazla 7 join yapmaya izin veriyordu. 8. joinde patlıyordu. Bilginize
-
Yazilimci bunu yazdı
https://github.com/microorm-dotnet/MicroOrm.Dapper.Repositories
Alın size generic in dibi bir paket. Nuget üzerinden yükleyebilirsiniz. Mapping işlemini direk attribute üzerinden yapıyor. Class ınızdaki property üzerinde join i attribute olarak veriyorsunuz. Kendi sql i oluşturuyor (Örnek: https://github.com/microorm-dotnet/MicroOrm.Dapper.Repositories/blob/master/test/MicroOrm.Dapper.Repositories.Tests/Classes/User.cs ). @unbalanced hocamla çok araştırdık vakti zamanında :) . O konuda bundan daha efektif bir çözüm bulamadım ben. Bulan olursa alırım bi dal.
Not: Dapper en fazla 7 join yapmaya izin veriyordu. 8. joinde patlıyordu. Bilginize
++
-
Yazilimci bunu yazdı
https://github.com/microorm-dotnet/MicroOrm.Dapper.Repositories
Alın size generic in dibi bir paket. Nuget üzerinden yükleyebilirsiniz. Mapping işlemini direk attribute üzerinden yapıyor. Class ınızdaki property üzerinde join i attribute olarak veriyorsunuz. Kendi sql i oluşturuyor (Örnek: https://github.com/microorm-dotnet/MicroOrm.Dapper.Repositories/blob/master/test/MicroOrm.Dapper.Repositories.Tests/Classes/User.cs ). @unbalanced hocamla çok araştırdık vakti zamanında :) . O konuda bundan daha efektif bir çözüm bulamadım ben. Bulan olursa alırım bi dal.
Not: Dapper en fazla 7 join yapmaya izin veriyordu. 8. joinde patlıyordu. Bilginize
İnceliyim hocam bilgilendirme için teşekkürler.