Son derece denormalize tablolara ekler gerçekleştiren bir kod parçası var. Tablolarda ~ 100 ila 300+ arasında değişen sütun sayısı vardır. Bu, Windows Server 2008 üzerinde çalışan SQL Server 2008 R2'dir.
Her ek, aynı işlem altındaki birkaç tabloya ekleme işleminden oluşur. Bazı ekler NHibernate tarafından toplu işlenir, ancak bazıları olamaz, ancak yine de hepsi aynı işlem altındadır.
Ekleme yapan bir kod parçasını art arda çağırarak ekler 500 kez gerçekleştirdiğimde ortalama ~ 360 ms alıyorum.
Garip bit, aynı anda 4 işlemleri (Windows Server 2008 altında 4 farklı komut istemlerinden aynı exe çalıştırmak) kullanarak test kodu çalıştırdığınızda, arama başına ekleme performansı çok daha iyi olur. 90 ms kadar hızlı giden patlamalar görüyorum (neredeyse X4 daha hızlı). Koddan ekleme süresini ölçüyorum.
4 süreç birbirleri hakkında hiçbir şey bilmediğinden, bunun SQL Server ile ilgisi olduğunu varsayıyorum, ama kesinlikle hiçbir ipucu var. Bunun neden olduğunu ve uçlar o kadar sık olmadığında aynı performansı almama izin verecek herhangi bir yapılandırma olup olmadığını bilmek istiyorum.
Db düzeyinde neler olup bittiğini anlamak için SQL Server izleme yöntemleri ile ilgili öneriler eşit derecede hoş geldiniz.