Aracılığıyla paylaş


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ı

  • 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