0

I am load testing an application and it appears from New Relic that each transaction executes a significant number SQL statements (approx 250). As we scale up, the service that makes these calls appears to degrade; however New Relic is a bit unclear as to why this is as it does not account for all the time (just the SQL execution time).

In Oracle I would be able to run a trace which would show the latency of the network round trips associated with execution of each SQL statement. Is there an equivalent set of SQL Profiler (or similar) metrics that will help me trace the time between the client service issuing the SQL request and it receiving the response?

2
  • 2
    Hi, could you please specify which version of SQL Server you are using? This could change the answer. – mendosi Dec 1 '16 at 0:44
  • Apologies Should have said; SQL Server 2014 SE – user2064232 Dec 1 '16 at 9:26
1

It's been a while since my Oracle days but IIRC, that's at the Ora net layer so the equivalent in SQL Server will be ODBC or .NET provider layer. Profiler is a client tool that calls SQL Trace in the server. It can't capture client-side network stats so if you're trying to measure client/server network latency, it won't help you.

You can track ODBC clients statistics by enabling it from the data source administrator. See https://msdn.microsoft.com/en-us/library/ms131411.aspx for details.

For .NET provider statistics see https://msdn.microsoft.com/en-us/library/7h2ahss8(v=vs.110).aspx

Jes has a nice blog about enabling it from SSMS if you are testing specific queries, see https://www.brentozar.com/archive/2012/12/sql-server-management-studio-include-client-statistics-button/

If you really want to get details, there are a bunch of other tools with varying levels of detail and abilities like netmon, tcping, tracert, etc... but they'll typically require manual correlation so I won't start with this.

1
  • Thanks for the response; its much appreciated. The App in question uses JDBC and I believe has logging that tracks calls at this level; I was just hoping that might a more DBA friendly option in SQL Server; but it would appear that there is not. So I'll start "groking" logfiles. Again thanks for taking the time to help. – user2064232 Dec 5 '16 at 14:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.