Recently, I
had the privilege to do some load testing for a client. I did some investigation into different tools
that would do the job. I looked at HammerDB
and Distributed Replay based on suggestions I got from #SQLHelp. My client has a very old, very specialized
application. The fact that Distributed
Replay (DR) is a Microsoft tool, and I could get data from production to run on
a QA system made it an easy decision to use DR.
I really needed to test the client’s specific workload exactly.
This was a
new tool for me which I had to learn.
As a DBA this is not new, we all do this almost daily. It is also likely why most of us do this job,
because we are always learning something new.
When I started into the process of doing a test run of my process, I
found I needed more than Books On Line (BOL).
This is also not new, which is why I love that so many of us in this
industry blog. I know that someone
other than me will someday need more information than the BOL has, simply because
I found a few “juicy” tidbits of information that to my knowledge were not documented. So my next few posts will be about
Distributed Replay. I blog when I have something,
I think others need to know about, and I
did find a few items out about distributed replay that I want to share, and
hope that by sharing I will make the process easier for someone else.
Let’s start with an introduction
Microsoft
documents that Distributed Replay is a feature to help you assess the impact of
future SQL Server upgrades, the impact of hardware or operating system
upgrades, and for SQL Server tuning. SQL Server tuning is a large category that is
mentioned at the end of the paragraph and not expounded on. However, the best way to look at it is, that
it is similar to SQL Server Profiler but is not limited to replaying the
workload from a single computer. When
replaying an intensive OLTP application workload that has many concurrent
connections, profiler can become a resource nightmare. This is where distributed replay comes in; it
is excellent for situations where the concurrency in the captured trace is so
high that a single replay client cannot sufficiently simulate it.
I want to
note that although Distributed Replay was introduced in SQL Server 2012, it can
collect data from a 2008 or 2008R2 system and replay it on a SQL Server 2012
server.
In my next
few posts I will explain how to configure Distributed Replay, how to use it and
what I did to collect useful information.
No comments:
Post a Comment