On 09/10/13 13:38, Tyler Romeo wrote:
Hello,
So recently I've been trying to find a method where I could test database queries on production data. I originally thought Tool Labs might help, but I found out due to a bug in MySQL you can't perform EXPLAIN queries in the database replicas. And naturally I don't have access to the actual production cluster because I'm not on ops.
My last method to try is going to be downloading the enwiki database dump and setting up my own replica. However, this involves hard drive space that I don't have.
EXPLAIN on a small wiki will usually give you the same query plan as EXPLAIN on a large wiki, if the indexes are the same. So you can try running your EXPLAIN against your local test wiki. But for the most part, we estimate query performance a priori, based on code review and what we know about MySQL, rather than measuring performance during testing.
Note that EXPLAIN can be misleading even if it is run against a production database. Even actual performance measurement in production can be misleading, if the test is run against a small table which will gain rows over time. And measuring execution time doesn't tell you everything about the performance of the server -- for example, it doesn't show buffer pool usage.
-- Tim Starling