SQL Server Profiler'da "Audit Logout" nedir?


93

Bir veri içe aktarımı çalıştırıyorum (C # / Linq kullanarak) ve doğal olarak sorgularımı olabildiğince optimize etmeye çalışıyorum. Bu amaçla, SQL oturum açma adıma göre filtrelenmiş izimle SQL Server Profiler kullanarak DB üzerinde bir izleme çalıştırıyorum (bu, veri içe aktarma sürecime benzersiz bir şekilde atfedilebilen bir addır).

Garip bir şekilde, SQL ifadelerimin çoğu gerçekten hızlı :) - çok az sorgu 1ms işaretini bile aşıyor. Ancak tüm sorgularım arasında, EventClass'ın "Audit Login" veya "Audit Logout" olduğu birkaç satır var - ve bir "Audit Logout" süresi bir dakikaya kadar olabilir!

Bunun ithalatımda işlemleri kullandığım gerçeğiyle bir ilgisi var mı? Öyleyse, hangilerinin en çok hitap ettiğini bulmanın bir yolu var mı, böylece bunları temizleyebileyim?



Yanıtlar:


83

Doğru hatırlıyorsam, Denetim Oturumu Kapatma süresi, bağlantının açık olduğu süredir. Örneğin, komutun hızıyla hiçbir ilgisi yoktur - sadece girişin 'oturum açtığı' süre.


9
İlginç, teşekkürler! Peki öyleyse, "oturum açma" ve "oturum kapatma" arasındaki sorgular için okuma sayısı sadece 56 iken neden okuma sayısı bu kadar yüksek (~ 400.000)?
Shaul Behr

Girişten çıkışa kadar geçen ms sayısıdır. Bağlantı içindeki sorguların gerçek miktarı değil. 400 000 ms yaklaşık 7 dakikadır. CPU ve / veya disk kullanımında yüksek olan sorguları denemek ve bulmak için CPU'ya bakın, sütunları okuyun ve yazın - her ikisi de performansı düşürür.
Thies

Pardon, Readszaman ölçümüne verilen yanıtları mı kastediyorsun ?
Johnny_D

1
Oturum kapatma ile oturum açma arasında listelenen 3 okuma ile yalnızca bir işlem olduğu düşünüldüğünde, çıkış "Okumalar" değeri benimkinde gerçekten yüksek görünüyor.
Triynko

1
ReadsSütunun sorgular tarafından döndürülen satırları temsil etmediği, ancak mantıksal disk okuma sayısı olduğu unutulmamalıdır . Hiçbir şey döndürmeyen bir sorgu, 1 milyon kayıttan oluşan bir tablonun tamamını tarayabilir ve bu da çok büyük sayıda okuma üretebilir. Dolayısıyla, okuma sayısı, sorgu sayısı ile doğal olarak ilişkilendirilmez.
Pace

12

Oturum açma / Oturum kapatma olayları, kurulum / yırtılma ile ilgilidir. IIRC, diğer günlük olaylarında olduğu gibi bir işlem süresinin aksine, 'zaman için oturum açıldığı zamandır.

Genel olarak, bağlantı havuzu yönetimi vb. İle ilgili bir sorun olduğundan şüphelenmediğiniz sürece bu olaylar gizlenir.

Partiler için ham süreler, herhangi bir işlemin etkisi vb. Dahil olmak üzere fiili faaliyetin aldığı zamanı teşhis etmek için yeterli olmalıdır.


"Kurma / yırtma" işlemini daha detaylı incelemek mümkün mü? Lütfen aşağıdaki ilgili soruya bakın: stackoverflow.com/questions/44920375/…
Stefan

3

Audit Logout olay sınıfı, bir kullanıcının Microsoft SQL Server oturumunu kapattığını (oturumu kapattığını) gösterir. Bu sınıftaki olaylar, yeni bağlantılar veya bir bağlantı havuzundan yeniden kullanılan bağlantılar tarafından tetiklenir.

boşta kalma süresi de dahil olmak üzere bağlantının oturum açtığı toplam süredir, dolayısıyla bir performans sorunu olduğunu göstermez. Ayrıca oturum açma / oturum kapatma profillerinin çıkarılmasının bir performans sorununa neden olma olasılığı çok düşüktür. Kötü performans gösteren sorgular, muhtemelen uzun süren sorgular aramanız daha iyi olur.

Daha fazla bilgi için https://msdn.microsoft.com/en-us/library/ms175827.aspx öneririz :)


1
Bağlantı havuzundan bağlantılar yeniden kullanıldığında Denetimden Çıkış etkinliklerinin tetiklendiğinden emin misiniz? Bağlantı havuzlarının, Denetimden Çıkış sürelerinin yüksek olmasının bir nedeni olduğunu düşündüm, çünkü bağlantı açık ancak ömrünün çoğu boyunca boşta,
Adam Goodwin

2

Ayrıca, bu yanıtta olduğu gibi , Denetim Oturum Açma / Oturumu Kapatmanın, bağlantının bağlantı havuzundan yeniden kullanıldığı / havuza geri döndüğü anlamına gelebileceğini belirtmek gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.