All Posts

Analyzing Prepared Statement Performance
November 19, 2014
SolarWinds
Optimizing MySQL performance requires the ability to inspect production query traffic. If you’re not seeing your application’s production workload, you’re missing a vital part of the picture. In particular, there…
SolarWinds Database Performance Monitor Now Supports Amazon RDS For MySQL
November 12, 2014
Baron Schwartz
We are excited to announce that we now support monitoring Amazon RDS for MySQL. Previously we relied exclusively on deep packet inspection, but since customers can’t install agents on RDS…
Inside Distributed Architectures: RT In-Flight Requests And Blockers
November 6, 2014
Baron Schwartz
SolarWinds® Database Performance Monitor’s (DPM) SaaS backend is a service-oriented architecture, which means that in addition to our external APIs that our agents and web UI use, we also have…
Using Netlink to Optimize Socket Statistics
September 22, 2014
SolarWinds
This is a story of using low-level kernel interfaces to optimize an edge case one of our agents encountered in some servers. The TL;DR version is that accessing /proc/ can…
What Privileges Does EXPLAIN Require in MySQL?
July 28, 2014
Baron Schwartz
Here’s a simple question that I wasn’t able to solve with Google or the MySQL documentation (which is normally excellent). Perhaps it’s mentioned somewhere, but I can’t find it. Here’s…
Prepared Statement Samples
July 25, 2014
SolarWinds
One of our most useful features is Top Queries, which allows users to examine various metrics for families of similar queries. Once a query family is selected, we can drill…
MySQL Type Conversion Rules
July 21, 2014
Baron Schwartz
When you send a query to MySQL, you usually don’t need to think explicitly about the types of the expressions in your query. If you compare this to a lot…
4 Things To Know About MySQL Prepared Statements
July 10, 2014
Baron Schwartz
While writing our TCP stream reassembly and MySQL protocol reverse-engineering algorithms, a few finer points of the MySQL protocol and internals came up. None of this is new information, but…
Composition Instead of Inheritance in Go
July 1, 2014
Baron Schwartz
Looking back, I find object-oriented programming in languages like Java and C++ to be incredibly confusing. There are so many special rules and things to know. By contrast, Go gives…
Discovering Query Bugs by TCP Inspection
June 23, 2014
Baron Schwartz
The MySQL wire protocol includes useful result data and metadata, such as warnings and errors raised by the query. These often indicate bugs that will cause problems you may not…
1179184