Understanding when EXPLAIN is not using an index as intended

When reading a MySQL Query Execution Plan (QEP) produced by the EXPLAIN command, generally one of the first observations is to validate an index is being used per table (i.e. per row of output).

Read more

What is testing?

In software development this is a simple question. What is [the purpose of] testing? If asked to give a one sentence answer what would you say? I have asked this simple question of attendees at many presentations, and also to software developers I have worked with or consulted to.

Read more

AWS cost saving tips – EBS Volumes

A trivial cost saving tip for checking if you are spending money in your AWS environment on unused resources. This is especially appropriate when using provisioned IOPS EBS volumes. $ ec2-describe-volumes | grep available VOLUME vol-44dff904 8 snap-d86d0884 us-east-1b available 2014-08-01T14:11:24+0000 standard VOLUME vol-62dff922 100 us-east-1b available 2014-08-01T14:11:24+0000 io1 1000 VOLUME vol-15dff955 8 snap-d86d0884 us-east-1b available 2014-08-01T14:11:24+0000 standard VOLUME vol-80a88ec0 8 snap-d86d0884 us-east-1b available 2014-08-01T15:12:54+0000 standard VOLUME vol-ca82a48a 100 us-east-1b available 2014-08-01T16:13:49+0000 standard VOLUME vol-5d79581d 8 snap-d86d0884 us-east-1b available 2014-08-01T18:27:01+0000 standard VOLUME vol-baf9dbfa 8 snap-d86d0884 us-east-1b available 2014-08-03T18:20:59+0000 standard VOLUME vol-53ffdd13 8 snap-d86d0884 us-east-1b available 2014-08-03T18:25:52+0000 standard VOLUME vol-ade7daed 8 snap-d86d0884 us-east-1b available 2014-08-13T20:10:46+0000 standard VOLUME vol-34e2df74 8 snap-065a2e52 us-east-1b available 2014-08-13T20:26:17+0000 standard VOLUME vol-cacef38a 100 snap-280ffb7f us-east-1b available 2014-08-13T21:19:18+0000 standard VOLUME vol-41350a01 8 snap-f23ccba5 us-east-1b available 2014-08-14T16:54:27+0000 standard VOLUME vol-51350a11 100 snap-fc3ccbab us-east-1b available 2014-08-14T16:54:27+0000 standard VOLUME vol-912f10d1 8 snap-96ee24c1 us-east-1b available 2014-08-14T17:15:06+0000 standard VOLUME vol-a82f10e8 100 snap-9dee24ca us-east-1b available 2014-08-14T17:15:06+0000 standard These are available and unused EBS volumes which you should consider deleting.

Read more

MySQL Admin 101 for System Admins – key_buffer_size

As discussed in my presentation to NYLUG , I wanted to provide system administrations with some really quick analysis and performance fixes if you had limited knowledge of MySQL. One of the most important things with MySQL is to tune memory properly.

Read more

Improving performance – A full stack problem

Improving the performance of a web system involves knowledge of how the entire technology stack operates and interacts. There are many simple and common tips that can provide immediate improvements for a website.

Read more

Writing re-runable shell script

I recently started playing with [devstack][1] again (An all-in-on OpenStack developer setup). Last time was over 3 years ago because I remember a [pull request for a missing dependency][2] at the time.

Read more

Popular Quotes by Ronald Bradford

If you have ever met me personally at a presentation, or during consulting, or have read some of my blogs, publications or books the following statements are things I have been known to say.

Read more

Correctly setting your mysql prompt using sudo

If you run multiple MySQL environments on multiple servers it’s a good habit to set your MySQL prompt to double check which server you are on. however, using the MYSQL_PS1 environment variable I found this does not work under sudo (the normal way people run sudo).

Read more

What is FTS_BEING_DELETED.ibd

I currently have on a MySQL 5.6 database using innodb_file_per_table the following individual tablespace file. schema/FTS_00000000000001bb_BEING_DELETED.ibd The schema is all InnoDB tables, and there ARE NO Full Text Indexes. I cannot comment on if a developer has tried to create one previously.

Read more

Good Test Data

Over the years you collect datasets you have created for various types of testing, seeding databases etc. I have always thought one needs to better manage this for future re-use. Recently I wanted to do some “Big Data” playing and again that question of what datasets can I use let me to review the past collated list at Seeking public data for benchmarks .

Read more

The GRANT/REVOKE dilemma

It is common practice to grant your application the privileges of “GRANT SELECT, INSERT, UPDATE, DELETE ON yourdb.* TO user@host”. But what if you want to ensure you cannot DELETE data from just one table?

Read more

Simple steps to increasing site availability

A recent database production migration with a large client highlighted a fundamental flaw in their designed architecture for suitable site availability. While the development team had take several good steps in improving scalability of the site, there was a clear failure in understanding and supporting different levels of data availability which I cover in my presentation Successful Scalability Principles .

Read more

Performance v Scalability – For Employers

In a recent discussion with a fellow peer reviewing a job description he was applying for, we got into a discussion on the specifics of a Performance Engineer verses a Scalability Engineer.

Read more

Clearly define your uptime needs

In writing about Performance and Scalability I referenced a quote that I have provided in a number of presentations regarding a valuable interaction with a client. All software architects and managers need to clearly understand this for their own sites in order to enable technical resources to deliver a highly scalable solution.

Read more