Advanced Performance Tuning Tips with Database Performance Analyzer Jon Shaulis Senior DBA © 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED.

Slides:



Advertisements
Similar presentations
Oracle Enterprise Manager Grid Control: Day in the Life of An Admin Wilson N. López – Solution Specialist.
Advertisements

DAT 342 Advanced SQL Server Performance and Tuning Bren Newman Program Manager SQL Server Development Microsoft Corporation.
Performance Tuning Compiled from: Oracle Database Administration, Session 13, Performance, Harvard U Oracle Server Tuning Accelerator, David Scott, Intec.
Chapter 9. Performance Management Enterprise wide endeavor Research and ascertain all performance problems – not just DBMS Five factors influence DB performance.
© 2006 ITT Educational Services Inc. Course Name: IT390 Business Database Administration Unit 10 Slide 1 IT390 Business Database Administration Unit 10:
Module 20 Troubleshooting Common SQL Server 2008 R2 Administrative Issues.
Brian Alderman | MCT, CEO / Founder of MicroTechPoint Pete Harris | Microsoft Senior Content Publisher.
Chapter 14 Chapter 14: Server Monitoring and Optimization.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 11 Database Performance Tuning and Query Optimization.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Connect with life Praveen Srvatsa Director | AsthraSoft Consulting Microsoft Regional Director, Bangalore Microsoft MVP, ASP.NET.
Kevin Kline, SQL Sentry Director of Engineering Services, Microsoft SQL Server MVP since 2003 Twitter, Facebook, KEKline.
Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data.
Course Topics Administering SQL Server 2012 Jump Start 01 | Install and Configure SQL Server04 | Manage Data 02 | Maintain Instances and Databases05 |
Introduction Optimizing Application Performance with Pinpoint Accuracy What every IT Executive, Administrator & Developer Needs to Know.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
Key Concepts About Performance Factors Affecting SQL Performance SQL Performance Tuning Methodologies SQL Performance Tuning Tools 1.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
1 Robert Wijnbelt Health Check your Database A Performance Tuning Methodology.
Wait-Time Based Oracle Performance Management Prepared for UNYOUG Presented by Matt Larson CTO, Confio Software.
Oracle9i Performance Tuning Chapter 1 Performance Tuning Overview.
DMV Performance Monitoring & Tuning Presented by Franklin Yamamoto.
Oracle Tuning Ashok Kapur Hawkeye Technology, Inc.
Agenda for Today Do Chapter 14 Final Project Review for Final.
Performance Dash A free tool from Microsoft that provides some quick real time information about the status of your SQL Servers.
Learningcomputer.com SQL Server 2008 – Profiling and Monitoring Tools.
Oracle9i Performance Tuning Chapter 12 Tuning Tools.
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
SQLRX – SQL Server Administration – Tips From the Trenches SQL Server Administration – Tips From the Trenches Troubleshooting Reports of Sudden Slowdowns.
By Shanna Epstein IS 257 September 16, Cnet.com Provides information, tools, and advice to help customers decide what to buy and how to get the.
Srik Raghavan Principal Lead Program Manager Kevin Cox Principal Program Manager SESSION CODE: DAT206.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
14 Copyright © 2005, Oracle. All rights reserved. Backup and Recovery Concepts.
Enterprise Database Administration & Deployment SIG ▪ 313M ▪ Sept 29, 2005 ▪ 10:15 AM SQL Server 2005 Performance Diagnosis and Tuning using SQL Tools.
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
1 Copyright © 2005, Oracle. All rights reserved. Following a Tuning Methodology.
IMS 4212: Database Implementation 1 Dr. Lawrence West, Management Dept., University of Central Florida Physical Database Implementation—Topics.
Session id: Darrell Hilliard Senior Delivery Manager Oracle University Oracle Corporation.
14 Copyright © 2005, Oracle. All rights reserved. Backup and Recovery Concepts.
Connect with life Praveen Srivatsa Founder and CEO – AstraSoft.NET Vinod Kumar Technology Evangelist – Databases and BI.
Diagnosing Performance with Wait Statistics Robert L Davis Principal Database
Copyright Sammamish Software Services All rights reserved. 1 Prog 140  SQL Server Performance Monitoring and Tuning.
Dave LinkedIn
Response Time Analysis A Methodology Around SQL Server Wait Types Dean Richards.
10 SQL Server Wait Types Everyone Should Know
SQL Advanced Monitoring Using DMV, Extended Events and Service Broker Javier Villegas – DBA | MCP | MCTS.
No more waiting. Sponsors About me  Database Technology Specialist  MVP  Blogger  Author 3
This document is provided for informational purposes only and Microsoft makes no warranties, either express or implied, in this document. Information.
Oracle Database Architectural Components
SQL Server Internals & Architecture Naomi Williams, SQL DBA LinkedIn
SQL Database Management
Query Tuning Get it Right the First Time Dean Richards Senior DBA, Confio Software 1.
An introduction to Wait Statistics
Performance Management
Wait-Time Based Performance Management David Waugh Confio Software
to my madness! Janis Griffin Senior DBA, Confio Software
Building a Performance Monitoring System using XEvents and DMVs
Tuna Helper Proven Process for SQL Tuning Janis Griffin Senior DBA, Confio Software 1.
SQL Server Monitoring Overview
Microsoft Dumps Question Answer - Dumps4download
Root Cause Analysis with DMVs
Database Performance Analyzer Overview
Building a Performance Monitoring System using XEvents and DMVs
Troubleshooting SQL Server Basics
මොඩියුල විශ්ලේෂණය SQL Server Waits. Tables රැසක් එකට එකතු කිරීම.
Troubleshooting Techniques(*)
Статистика ожиданий или как найти место "где болит"
Building a Performance Monitoring System using XEvents and DMVs
Using wait stats to determine why my server is slow
Presentation transcript:

Advanced Performance Tuning Tips with Database Performance Analyzer Jon Shaulis Senior DBA © 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED.

Who Am I? © 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. »Senior DBA for SolarWinds (formally Confio)  »Current - 4+ Years in Oracle, SQL Server, MySQL, Sybase, and I can spell DB2. »Production, development, architecture, data modeling »Specialize in performance tuning »Review database performance for customers and prospects »Common thread – How do I tune it?

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Agenda »Response Time Analysis ( wait time methodology) »Dynamic Management Views »What are Wait Types? »Compliant Tools »Case Studies  Poor Code Design  Locking Problem  Network Issue  High CPU Usage »Q&A

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Working on the Right Problems? Before we start, do you know… »The most important problem in your database? »Did your vendor really fix your problem in their new patch? »If you added a index, did it really improve performance? »Which database bottlenecks are directly impacting end users? »What resources are your queries using up or waiting on?

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Wait Time Tuning vs. Ratios

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Response Time Analysis (RTA) »Database processing includes hundreds of steps »Understand the total time a Query spends in Database »Identify Wait Time at every step »Rank bottlenecks (wait types) by impact on end user Focus on Response Time

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Monsters Lurking in Your Database?

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Grocery Store Analogy »Cashier is the CPU »Customer being checked out is “running” »Customers waiting in line are “runnable” »Customer 1 Requires Price Check  Customer 1 “waits” on “Price Check”  Customer 2 is checked out, i.e. “running”  Customer 3 is “runnable” »Price Check is Completed  Customer 1 goes to “runnable”

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Execution Model CPU 1 SPID 60 – Running CPU 1 Queue SPID 51 – Runnable SPID 61 – Runnable Waiter List SPID 52 – ASYNC_NETWORK_IO SPID 53 – OLEDB SPID 54 – PAGELATCH_IO SPID 57 – LCK_M_S SPID 59 – WRITELOG

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Execution Model (cont.) CPU 1 SPID 60 – Running CPU 1 Queue SPID 51 – Runnable SPID 61 – Runnable Waiter List SPID 52 – ASYNC_NETWORK_IO SPID 53 – OLEDB SPID 54 – PAGELATCH_IO SPID 57 – LCK_M_S SPID 59 – WRITELOG CPU 1 SPID 60 – Running (Needs to perform IO) SPID 51 - Running CPU 1 Queue SPID 51 – Runnable SPID 61 – Runnable SPID 59 – Runnable Waiter List SPID 52 – OLEDB SPID 53 – WRITELOG SPID 54 – PAGELATCH_IO SPID 57 – LCK_M_X SPID 59 – WAITFOR SPID 60 – PAGELATCH_IO

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Wait Time Tables (2005 & Up) dm_exec_sql_text text dm_exec_sessions login_time login_name host_name program_name session_id dm_exec_query_stats execution_count total_logical_writes total_physical_reads total_logical_reads dm_exec_requests start_time status sql_handle plan_handle start/stop offset database_id user_id blocking_session wait_type wait_time dm_exec_query_plan query_plan dm_os_wait_stats wait_type waiting_tasks_count wait_time_ms sysprocesses loginame hostname programname spid dbid waittype waittime Lastwaittype waitresource sql_handle stmt_start stmt_end cmd

12 »Can give an overall performance view  Can find costly queries and other problems. »Contents are from instance startup  No way to tie some information to a timeframe.  Are these Query stats from today or last week? »Need to sample data periodically  Be able to go back to 3:00 pm yesterday when problem occurred.  How often and when does this query execute? Problems with DMVs

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Sysprocesses Table »A MASTER Table Holds SQL Server Process Information  COLUMNS loginame - Database user login hostname - Name of workstation programname - Name of application spid - SQL Server process ID dbid - ID of database currently used by process waittype - Binary internal column, 0x0000 if not waiting lastwaittype - Name of last or current wait type sql_handle - Current executing batch or object stmt_start - Starting offset of current SQL as specified in sql_handle stmt_end - Ending offset of current SQL as specified in sql_handle cmd - Command currently being executed

INSERT INTO SessionWaitInfo SELECT r.session_id, r.sql_handle, r.statement_start_offset, r.statement_end_offset, r.plan_handle, r.database_id, r.blocking_session_id, r.wait_type, r.query_hash, s.host_name, s.program_name, s.host_process_id, s.login_name, CURRENT_TIMESTAMP cdt FROM sys.dm_exec_requests r INNER JOIN sys.dm_exec_sessions s ON s.session_id = r.session_id WHERE r.status <> 'background' AND r.command <> 'AWAITING COMMAND' AND s.session_id <> 14 Base Monitoring Query

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. SQL Text, Cached Plan & Database Info »dm_exec_sql_text function  Accepts sql_handle  Returns current SQL Text for SPID select * from sys.dm_exec_sql_text(0x AD50093A ) »dm_exec_query_plan function  Accepts plan_handle  Returns cached or currently executing plan select * from sys.dm_exec_query_plan(0x F057B8E ) »sysdatabases – Master table  Contains one row for each database dbid (join with dbid of sysprocesses) Name select dbid, name from sys.databases d, sys.sysprocesses p where d.database_id = p.dbid

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. SQL Statistics Information »DM_EXEC_QUERY_STATS  SQL2005 & Up – Dynamic Management View  sql_handle »Shows statistics of plan since last compiled  execution_count  total_logical_writes  total_physical_reads  total_logical_reads  total_rows  Etc…

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Wait Types »Number of Wait Types Increasing  2012 – 649  2014 – 771 »Wait Categories in MDW (select * from core.wait_categories)  CPU Buffer Latch Other  Backup Memory  SQLCLR Logging  Parallelism Compilation  Latch Transaction  Lock Idle  Network I/O User Waits  Buffer I/O Full Text Search

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Sample Wait Types »WRITELOG  Waiting for a log flush to complete »LCK_M_S, LCK_M_U, LCK_M_X…  Waiting to acquire locks »ASYNC_NETWORK_IO  Waiting on network »OLEDB  Waiting on an OLE DB provider to return data »WAITFOR (idle event)  Waiting during a WAITFOR command »PAGEIOLATCH_X  Waiting for disk to memory transfers

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. RTA Compliant Tool Types Two Primary Types of Tools – both have a place in organization 1.Tracing Tools  Focus on one session at a time  Traces every step of the process High overhead, point in time data only  Examples: SQL Server Profiler, Extended Events (2008+) Be careful of session statistics skew (not viewing big picture)  Very precise – only way to get all variable information  Ideal if you know a problem is going to occur in the future  Difficult to see trends over time

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. RTA Compliant Tool Types Two Primary Types of Tools – both have a place in organization 2.Continuous DB Wide Monitoring Tools  24/7 sampling provides real-time and historical perspective  Allows DBA to go back in time I had a problem at 3:00 pm yesterday  Not the level of detail provided by tracing  Usually have trend reports to allow communication with other groups What is starting to perform poorly? What progress have we made while tuning?

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Wait Time Methodology & RTA »Four Key Principles of RTA 1.SQL View: All statistics and information at SQL statement level 2.Time View: Measure Time, not number of times something occurred 3.Full View: Measure every wait individually to isolate source of problems 4.Historical View: Store data long term to spot trends, anomalies, relationships and easier analytics

RTA – How to use it? »Proactive View »What if a User Complains »Firefighting – Drive it to ‘Root Cause’ »Blocking Issue (not tuning or resource issue) »Long Term Trends »Current (right now) Issue 22

Proactive View 23

Users Complain 24

Specific User Complains 25

Firefighting – Driving to Root Cause 26

Blocking Issue 27

Long Term Issues, Trends & Tuning 28

Current View 29

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Case Study 1 – Poor Code Design Problem Observed: »Situation: Developer noticed long processing times when updating data in test db  Production DBAs would not let code go to production that was taking this long  Existing database tools not giving enough information to resolve issues in a timely fashion.  Used wait time methodology & RTA to determine what the process was waiting for

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Original Problem

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. What does RTA tell us? »Which SQL: Insert_Loop »Which Wait Type: WRITELOG (96%) »How much time: 10+ Minutes

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Code Review »Inserted 70,000 rows in 10:08 INT = 1 < BEGIN BEGIN TRANSACTION INSERT INTO [jpetstore].[dbo].[product]( [productid], [category], [name], [descn]) VALUES / 1000), 'PROD' + ',''), 'PROD' + ','')) + 1 COMMIT END

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. “WRITELOG” Description »Occurs while waiting for a log flush to complete. »Common operations that cause log flushes are checkpoints and transaction commits. Solutions »Commit data less often »Add additional IO bandwidth to the disk subsystem where the transaction log is stored. »Move non-transaction log IO from the disk. »Move the transaction log to a less busy disk. »Reduce the size of the transaction log has also helped in some cases

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Resolution »Inserted 70,000 rows in 0:28 vs. 10:08 INT = 1 BEGIN TRANSACTION < BEGIN INSERT INTO [jpetstore].[dbo].[product]( [productid], [category], [name], [descn]) VALUES / 1000), 'PROD' + ',''), 'PROD' + ','')) + 1 END COMMIT

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Case Study 2 – Locking Problem Problem Observed: »Situation: Web Application performance unsatisfactory  Database performance causing excessive delays for end users  Existing database tools not giving information to resolve issues in a timely fashion.  DBA Team concerned because escalations and finger pointing was occurring

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Offending SQL Statements March 5, 2014 to March 12, 2014 GetState SQL – 8 hours wait time

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Wait Types During Problem March – 12AM to ‘ 12AM

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Get State Procedure

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. What does RTA tell us »Which SQL: GetState »Which Wait Type: LCK_M_U (49%) WRITELOG (27%) »How much time: 8 Hours of wait time per day

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. “LCK_M_U” Description »Update Lock. Normally occurs when attempting to update a row that is locked by another session. Resolved by: »DBA's and Developer's Solutions »For shared locks, check Isolation level for transaction. Keep transaction as short as possible. »Check for memory pressure, which causes more physical I/O, thus prolonging the duration of transactions and locks.

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. “WRITELOG” Description »Occurs while waiting for a log flush to complete. »Common operations that cause log flushes are checkpoints and transaction commits. Solutions »Add additional IO bandwidth to the disk subsystem where the transaction log is stored. »Move non-transaction log IO from the disk. »Move the transaction log to a less busy disk. »Reduce the size of the transaction log has also helped in some cases »Commit data less often

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Results »Found Locking & Logging Wait Problems to be 76% of the total wait time »Solutions  Deleted Obsolete Rows from Table. Reduced wait time for this procedure from 8 hours on March 9 th to 30 minutes after removing the data.  Rebuilt Indexes  Resized transaction logs

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Tuning Results Observed March 5, 2014 to March 12, 2014

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Case Study 3 – Network Issues Problem Observed: »Situation: Microsoft Access application was performing very poorly  Some screens in Access took several minutes to return to the user  Access was hitting tables in SQL Server database  Access developers blamed SQL Server DBAs  Classic finger-pointing scenario

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Problem Details

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Offending SQLs

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. What does RTA tell us? »Which SQL: PatImage »Which Resource: NETWORKIO (ASYNC_NETWORK_IO) »How much time: 7.7 Hours of wait time per day

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. PatImage Details

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. “ ASYNC_NETWORK_IO” Description »Occurs on network writes when the task is blocked behind the network. May be blocked waiting for client to receive data. Verify that the client is processing data from the server Resolved by: »Network Administrators or Developers Solutions: » If abnormally high, check that a component of the network isn't malfunctioning. Otherwise, may need to speed up the client to accept or process data faster.

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Resolution »Query is waiting on ASYNC_NETWORK_IO »Call the Network Admin, Right? »Not so fast – review the query again  Query has no WHERE clause  Access was sending this query to SQL Server getting every row in the PatImage table  Access then joined it to another table queried in a similar fashion  Access did the joins instead of SQL Server

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Case Study 4 – High CPU Usage Problem Observed: »Situation: Encountering High CPU Usage during the day  Database performance causing excessive delays for external customer.  Existing database tools not giving enough information to resolve issues in a timely fashion.  Management wanted to purchase new server with more powerful CPUs

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Offending SQLs

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. RTA Findings »Which SQL: WebLoad_Itemstyle (closeout & bike sqls ) »Which Resource: CPU »How much time: 6.5 Hours of wait time per day

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. “CPU” Description »The database is typically using the CPU and/or memory (not necessarily waiting to use the CPU). »Solutions »Memory Scans Queries that have high waits on CPU may be reading more data from memory than necessary. (Full Table / Inefficient Index scans) »Try to issue fewer queries. It is also possible to cache data in the application that may require fewer queries against the database. »Check to see if other database activity, such as large batch jobs, can be scheduled for another time. These types of jobs may cause significant memory and/or CPU contention.

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. High Logical Reads

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Results »Found CPU Usage / Wait Problem to be 100% of the total wait time. »Solutions  Review current index usage to reduce the amount of data being read in memory.  Move other batch processes that are running at same time to other timeslots when CPU not high.

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Summary »Conventional Tuning focuses on “system health” and can lead to finger-pointing and confusion »Response Time Analysis using wait times and wait types is the best way to tune  Continuous DB-wide monitoring tool  4 Key Principles sql, time, resource (wait type), historical views (trends or big picture) »Questions & Answers

About SolarWinds DPA » Wait-Based Performance Tools » DPA (formally Ignite)  for Oracle, SQL Server, Sybase, DB2 » Helps show which SQL to tune » DPA based in Boulder, CO with customers worldwide » Free trial at: » Free Current View: 59

All SolarWinds Products 60

© 2014 SOLARWINDS WORLDWIDE, LLC. ALL RIGHTS RESERVED. Thank You! The SOLARWINDS and SOLARWINDS & Design marks are the exclusive property of SolarWinds Worldwide, LLC, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks, registered or pending registration in the United States or in other countries. All other trademarks mentioned herein are used for identification purposes only and may be or are trademarks or registered trademarks of their respective companies.