odbc sürücüsü performans profilleme
SQL ServerYerel istemci odbc sürücüsü performans verileri iki tür profil:
Uzun süre çalıştırılan sorgular.
Sürücü için bir günlük dosyası belirli bir süre içinde sunucudan bir yanıt almaz herhangi bir sorgu yazabilirsiniz. Araştırma her nasıl performansını artırabilir belirlemek için sql deyimi oturum uygulama programcıları veya veritabanı yöneticileri seçebilir.
Sürücü performans verisi.
Sürücü performans istatistiklerini kaydedebilir ve bunları bir dosyaya ya da yazmak veya uygulamaya sqlperf adlı bir sürücüye özgü veri yapısında kullanılabilir duruma getirmek. Performans istatistikleri içeren dosyayı kolayca dosyaları, Microsoft Excel gibi sekmeyle destekleyen herhangi bir elektronik tabloyla çözümlenebilen sekmeyle sınırlanmış bir dosyadır.
Her iki türdeki profil tarafından etkinleştirilebilir:
Günlük belirleyen bir veri kaynağına bağlanma.
Arama SQLSetConnectAttr denetim profil oluşturma sürücüye özgü özniteliklerini ayarlamak için.
Her başvuru süreci kendi kopyasını alır SQL Serveryerel istemci odbc sürücüsü ve Profil sürücüsü kopya ve bir uygulama sürecinin birleşimi için genel. Ne zaman herhangi bir şey uygulama tüm bağlantılar için bilgileri kaydeder profilleme, profil etkin sürücü bu uygulamadan açar. Özellikle profil oluşturma çağrısı değil hatta bağlantıları vardır.
Sürücü (performans verileri veya uzun süren sorgu log) profil oluşturma günlüğünü açtıktan sonra ne zaman uygulama sürücüyü açılan tüm çevre tanıtıcıları boşaltır sürücü odbc Sürücü Yöneticisi tarafından kaldırıldı kadar günlük kapanmıyor. Uygulamayı yeni bir ortam tanıtıcısı açılırsa, sürücünün yeni bir kopya yüklenir. Uygulama sonra ya da bağlar, aynı günlük dosyasını belirtir veya aynı dosyaya günlük sürücüye özgü özniteliklerini ayarlar bir veri kaynağına sürücü eski günlüğün üzerine yazılır.
Bir günlük dosyasına profilleme bir uygulamayı başlatır ve ikinci bir uygulama aynı günlük dosyasına profil başlatma girişiminde, ikinci uygulama herhangi bir profil oluşturma verileri günlüğe kaydetmek mümkün değildir. İkinci uygulama, ilk uygulama sürücüsü kaldırıldı sonra profil oluşturma başlarsa, ikinci uygulama ilk uygulama günlük dosyasındaki geçersiz kılar.
Bir uygulama olan etkin profil oluşturma veri kaynağına bağlanıyorsa, uygulama ararsa sürücü sql_error döndürür SQLSetConnectOption günlüğü başlatmak için. Çağrı SQLGetDiagRec birini döndürür:
SQLState: 01000, pfNative = 0
ErrorMsg: [Microsoft][SQL Server Native Client]
An error has occurred during the attempt to access
the log file, logging disabled.
SQLState: 01000, pfNative = 0
ErrorMsg: [Microsoft][SQL Server Native Client]
An error has occurred during the attempt to access
the log file, logging disabled.
Sürücü, bir ortam tanıtıcısı kapatılırken performans verileri toplama durur. Eğer bir SQL Serveryerel istemci uygulaması vardır birden çok bağlantı, her biri kendi ortam tanıtıcısı, sonra sürücü herhangi bir ilişkili ortam işleme kapatıldığında performans verileri toplama durur.
Sürücü performans verisi sqlperf veri yapısında saklı ya da Sekmeyle sınırlandırılmış bir dosyada açmış. Veriler, İstatistikler aşağıdaki kategorileri içerir:
Uygulama profili
Bağlantı
Ağ
Time
Aşağıdaki tabloda sqlperf veri yapısı alanlarında açıklamalarını performans günlük dosyasında kaydedilen istatistikleri için de geçerlidir.
Uygulama profili istatistikleri
sqlperf alan |
Açıklama |
---|---|
TimerResolution |
Minimum çözünürlük sunucunun saati süresi milisaniye. Bu genellikle 0 (sıfır) olarak bildirilir ve yalnızca rapor numarasını büyük düşünülmelidir. Sunucu saatinin en düşük çözünürlüğü büyük olasılıkla aralığı için biraz zaman tabanlı istatistik daha büyükse, bu istatistik şişirmek. |
SQLidu |
INSERT, delete veya update deyimleri sql_perf_start sonra sayısı. |
SQLiduRows |
INSERT, delete veya update deyimleri sql_perf_start sonra sayısı. |
SQLSelects |
select deyimleri sql_perf_start sonra işlem sayısı. |
SQLSelectRows |
sql_perf_start sonra seçili satır sayısı. |
İşlemler |
Kullanıcı hareketleri Al dahil sql_perf_start sonra sayısı. Bir odbc uygulaması SQL_AUTOCOMMIT_ON ile çalışırken, her bir hareketi kabul edilir. |
SQLPrepares |
Sayısı SQLPrepare işlevi çağrıları sql_perf_start sonra. |
ExecDirects |
Sayısı SQLExecDirect çağrıları sql_perf_start sonra. |
SQLExecutes |
Sayısı SQLExecute çağrıları sql_perf_start sonra. |
CursorOpens |
Kaç kez sürücü sql_perf_start sonra sunucu imleç açtı. |
CursorSize |
Imleçler tarafından açılmış sql_perf_start sonra sonuç kümeleri içinde satır sayısı. |
CursorUsed |
Satır sayısı gerçekte imleçler sürücüsünden aracılığıyla sql_perf_start sonra alınan. |
PercentCursorUsed |
CursorUsed/CursorSize eşittir. Örneğin, bir uygulamanın "count(*) from yazarlar, seçmek için" sunucu imleç açmak sürücü neden olur. 23 satır sonuç kümesi için select deyimi olacaktır. Sadece üçünde bu uygulama daha sonra getirir, bu yüzden PercentCursorUsed 13.043478 CursorUsed/CursorSize 3/23, demektir. |
AvgFetchTime |
SQLFetchTime/SQLFetchCount eşittir. |
AvgCursorSize |
CursorSize/CursorOpens eşittir. |
AvgCursorUsed |
CursorUsed/CursorOpens eşittir. |
SQLFetchTime |
Toplu bekleyeceği süreyi fetches tamamlamak için sunucu imleçler karşı aldı. |
SQLFetchCount |
Fetches sql_perf_start sonra sunucu imleçler karşı yapılan sayısı. |
CurrentStmtCount |
Deyimi tanıtıcısı sayısı, tüm bağlantılarda sürücüde açık açık. |
MaxOpenStmt |
Aynı anda açılan deyimi tutamaçları sql_perf_start sonra en fazla sayısı. |
SumOpenStmt |
sql_perf_start sonra açılan deyimi tanıtıcısı sayısı. |
Bağlantı İstatistikleri: |
|
CurrentConnectionCount |
Geçerli uygulamanın etkin bağlantı tanıtıcısı sayısı, sunucuya açın. |
MaxConnectionsOpened |
Eşzamanlı bağlantı tutamaçları sql_perf_start sonra açılan en fazla sayısı. |
SumConnectionsOpened |
sql_perf_start sonra açılan bağlantı tanıtıcısı sayısı toplamı. |
SumConnectionTime |
Zaman miktarı toplamı tüm bağlantıları sql_perf_start sonra açılmıştır. Örneğin, bir uygulama 10 bağlantı açılır ve her bağlantı için 5 saniye tutulan, SumConnectionTime 50 saniye olacaktır. |
AvgTimeOpened |
SumConnectionsOpened eşittir / SumConnectionTime. |
Ağ istatistikleri: |
|
ServerRndTrips |
Sayısı sürücü komutları sunucuya gönderilen ve bir yanıt geri aldı. |
BuffersSent |
Sekmeli veri akışı (tds) gönderilen paketlerin sayısını SQL Serverbir sürücü sql_perf_start sonra. Büyük komutları birden fazla tampon, böylece büyük bir komut gönderilir, sunucu ve onu doldurur altı paket, ServerRndTrips değeri bir artırılır ve BuffersSent altı tarafından artırılır alabilir. |
BuffersRec |
Sürücü tarafından alınan tds paket sayısı SQL Serversürücüyü kullanarak uygulama başlatıldıktan sonra. |
BytesSent |
Gönderilen veri bayt sayısı SQL Serversürücüyü kullanarak uygulama başlatıldıktan sonra tds paketlerinde. |
BytesRec |
tds paketleri sürücüsünden alınan veri bayt sayısı SQL Serversürücüyü kullanarak uygulama başlatıldıktan sonra. |
Zaman istatistikleri
sqlperf alan |
Açıklama |
---|---|
msExecutionTime |
Sürücü harcanan toplam süreyi sql_perf_start sonra işleme zaman sunucu yanıtları başlamasının. |
msNetworkServerTime |
Toplu süre sunucudan yanıt bekleniyor sürücü harcanan. |
Ayrıca bkz.
Kavramlar
SQL Server yerel istemci (ODBC)
Diğer Kaynaklar
odbc sürücüsü performans nasıl yapılır konuları (odbc) profil oluşturma