Mysql – Two thesql db’s load the same data at two different rates

amazon-rdsmysql-5.1

Any idea why this might be happening? We have the same mysql (*.sql file) data being imported into two virtually identical mysql databases every day, but one consistently takes 30% longer to load than the other.

We're using the RDS system on Amazon's AWS. We have a "staging" db and a "production" db. The staging db is the one that loads slowly. We are loading the data through a mysql client that sits on an EC2 Container. The staging container is virtually identical to the production container. The staging db is virtually identical to the production db. The staging RDS instance is virtually identical to the production RDS instance.

In the past, the staging db loaded at the same speed as the production db. At one point, we did some experiments with staging on a different RDS instance. When those didn't work out, we went back to our previous staging RDS instance and began getting consistently slower import times.

The sql file that gets loaded is a large one and takes almost 30 minutes to load on the production db and 40 minutes on staging.

I can see in the Monitoring charts that the write operations per second on production are a lot higher … spiking to over 600 vs. only spiking to 240.

EDIT (more info)

These are where they are exactly the same …

  • Engine: MySQL 5.1.73b
  • Option Group: default: mysql-5-1
  • Parameter Group: barracuda-mysql51
  • Availability Zone: us-east-1b
  • Instance class: db.m1.small
  • Storage Type: General Purpose (SSD)
  • IOPS: disabled
  • Storage: 20 GB
  • Multi AZ: No

They are in different VPC's and different security groups. Also, the production EC2 container that does the upload is in us-east-1b but the staging one is in us-east-1a. I'll have to check if that could make a difference.

Best Answer

It looks like it must have been the zone (sub-region) that was the issue. The slow loading happened when the EC2 container with the *.sql file was in us-east-1a and the RDS instance was in us-east-1b.