Măsurați automat toate interogările SQL

În Poate că normalizarea nu este normală Jeff Atwood spune: "Sunteți automat măsurând toate interogările care curg prin software-ul dvs., nu-i așa? Nu sunt, dar aș vrea.

Unele caracteristici ale aplicației în cauză:

0
fr hi bn

5 răspunsuri

În plus față de mențiunea lui Brad despre SQL Profiler, dacă doriți să faceți acest lucru în cod, atunci toate apelurile dvs. de bază de date trebuie să fie difuzate printr-o bibliotecă comună . Introduceți codul de sincronizare acolo și voila, știi cât timp durează fiecare interogare din sistem.

Un singur punct de intrare în baza de date este o caracteristică destul de standard a oricărui ORM sau a stratului de bază de date - sau cel puțin a fost în orice proiect la care am lucrat până acum!

0
adăugat

Dacă utilizați șine, acesta înregistrează automat toate interogările SQL și timpul necesar pentru executarea acestora în fișierul log de dezvoltare.

Consider că acest lucru este foarte util deoarece, dacă vedeți unul care durează un timp, este doar un pas să îl copiați și să-l lipiți direct de pe ecran/logfile și puneți "explicați" în fața lui în mysql.

Nu trebuie să vă grăbiți codul și să reconstruiți ceea ce se întâmplă.

Inutil să spun că acest lucru nu se întâmplă în producție, deoarece te-ar fi scos din spațiu pe disc în aproximativ o oră.

0
adăugat

Take a look at this chapter Jeff Atwood and I wrote about performance optimizations for websites. We cover a lot of stuff, but there's a lot of stuff about database tracing and optimization: Speed Up Your Site: 8 ASP.NET Performance Tips

0
adăugat

Dacă definiți o fabrică care creează SqlCommands pentru dvs. și o numiți întotdeauna atunci când aveți nevoie de o comandă nouă, puteți să reveniți la RealProxy către un SqlCommand.

Acest proxy poate apoi să măsoare cât timp execută ExecuteReader/ExecuteScalar, folosind un StopWatch și înregistrează-l undeva. Avantajul utilizării acestui tip de metode prin Sql Server Profiler este că puteți obține urme complete de stivă pentru fiecare piesă executată de SQL.

0
adăugat

SQL Profiler is the tool I use to monitor traffic flowing to my SQL Server. It allows you to gather detailed data about your SQL Server. SQL Profiler has been distributed with SQL Server since at least SQL Server 2000 (but probably before that also).

Foarte recomandat.

0
adăugat