Distributed Replay

Distributed Replay
Testing With Your Data, Your Way!
SQLSat 470 Washington DC
December 5, 2015
1
Melody Zacharias
Consultant
Chapter Leader / Regional Mentor for Canada
http://sqlmelody.blogspot.ca/
[email protected]
@SQLMelody
ca.linkedin.com/in/melodyzacharias
Agenda
Why
distributed replay?
What
is it used for?
How
do we set it up?
3
4
Why
Bottle
Neck
5
Why
6
Why - Limitations
•
•
•
•
Step
Run to Cursor
Toggle
Breakpoint
7
8
What
Administration Tool
Replay Controller
Replay Client(s)
Target Server
9
What
10
What – Administration Tool
11
What - Controller
12
What - Clients
13
What – Target
14
15
How
Configuration
Collection
Replay
Results
16
Configuration
17
Configuration
C:\Program Files (x86)\Microsoft SQL Server\110\Tools
Controller configuration file
DReplayController.config
Client configuration file
DReplayClient.config
Preprocess configuration file
Dreplay.exe.preprocess.config
Replay configuration file
Dreplay.exe.replay.config
Configuration - Preprocess
19
Configuration - Controller
20
Configuration - Controller
21
Configuration - Client
22
Configuration - Replay
23
Configuration
Replay Configuration
• Target instance
• Use connection pooling
• Sequencing
• Health monitor interval
• Stress scale granularity
• Query time out
• Connect timescale
• Threads per client
• Think time scale
24
Configuration
25
Configuration
Restart the services on all the servers
NET STOP “SQL Server Distribute Replay Controller”
NET START “SQL Server Distribute Replay Controller”
NET STOP “SQL Server Distributed Replay Client”
NET START “SQL Server Distributed Replay Client”
On each server that has the services installed
26
Configuration
The Rest of the Story.......
27
Configuration
Check for errors
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\DReplayClient\Log
Failed to connect controller with error code 0x80070005
Error code 0x80070005 means “Access is denied”
28
Component Services
Configuration
Start -> Run and type dcomcnfg
30
Configuration
31
Configuration
32
Configuration
33
Configuration
Restart the services on all the servers
NET STOP “SQL Server Distribute Replay Controller”
NET START “SQL Server Distribute Replay Controller”
NET STOP “SQL Server Distributed Replay Client”
NET START “SQL Server Distributed Replay Client”
On each server that has the services installed
34
Configuration
Check the Distributed Replay Client log file
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\DReplayClient\Log
“Registered with controller <ControllerServerName>”
“Failed to connect controller with error code 0x800706BA
<ClientServername> client may not connect to controller “
35
Fire Wall
Configuration
37
Configuration
38
Configuration
39
Configuration
40
Configuration
41
Configuration
42
Configuration
43
Configuration
Restart the services on the server
NET STOP “SQL Server Distributed Replay Client”
NET START “SQL Server Distributed Replay Client”
44
Configuration - Verify Log files
<ControllerServerName>
<ControllerServerName>
45
Let the games begin
Collection
47
Demo
Collection
52
Collection
53
Collection
DReplay preprocess
-i input_trace_file
-d controller_working_dir
[-m controller]
[-c config_file]
[-f status_interval]
54
Replay
55
Replay
c:\>DReplay replay –d c:\DistRePlay –w client1, client2
DReplay replay
-d controller_working_dir
-w clients [-o]
[-m controller] [-s target_server]
[-c config_file] [-f status_interval]
56
Results
57
58
Usage and Presentation
Uses
Results
• Application load testing
• Tables
• Physical vs Virtual computing
• Graphs
• Metrics for distributed computing
• Analytics
• TDE load
• Metrics
• System upgrades
• Hardware upgrades
• Index tuning
59
Results – Read Latency
61
PowerShell
62
Change in Domain
63
Change in Domain
Controller configuration file
DReplayController.config
Changes location when you change domains
Client configuration file
DReplayClient.config
Modify location in the configuration
64
Common issues
Error DReplay The client ‘ClientServerName’ is not a
registered distributed replay client. Make sure that the
SQL Server Distributed Replay Client services is running
on ‘ClientServerName’ , and that the client is registered
with the controller ‘localhost’.
65
Common issues
66
QUESTIONS
Resources
Distributed Replay:
http://bit.ly/1OQUhGA
Requirements including events:
http://bit.ly/1GRIiC6
Parameters for Replay:
http://bit.ly/1Gh8Gum
My Blog:
SQLMelody.blogspot.ca
My Email:
[email protected]
68
Thank You