0

Our site has been running slow recently and I've noticed that the RDS write IOPS can go as high as 80/sec and as low as 9/sec.

Is this something that could be causing pages to load slowly? If so what could be causing it. Our RDS is a db.m3.large with 7.5 GiB memory and 100 GB SSD storage. On average we have about 2 people using our application at once, 5 max often just 1.

Sorry if I'm not giving enough info, I'm very new to systems admin.

4
  • I appreciate that you're trying to give more information. Unfortunately in this case, the specs of your db server don't help us at all to give you a good answer. My answer below covers what you need to do to determine if your RDS IOPS are "too high".
    – EEAA
    Nov 7, 2015 at 17:07
  • What are you running on your RDS? How many people use it concurrently? How much storage is used? How big are the average files being used in the RDS?
    – CIA
    Nov 7, 2015 at 17:07
  • @CIA, just updated my question.
    – Holly
    Nov 7, 2015 at 17:13
  • 80/sec? Do you mean 80 IOPs? That doesn't indicate any slowness. What makes you think you have slow performance? What applications are you running?
    – CIA
    Nov 7, 2015 at 17:55

3 Answers 3

3

How long is a piece of string?

That's an analogue of your question.

Regardless of what metric you're speaking about, it could be CPU usage, Disk IO, Network IO, RAM, etc...their values only matter to the extent that they affect your application.

So, if your current level of Disk IO is slowing down queries to the point where it's affecting your application, well then yes, you need to look into faster storage.

Determining whether or not your database layer is the root cause of your poor performance is another topic altogether.

4
  • @Thank you, to clarify db.m3.large with 7.5 GiB memory and 100 GB SSD storage does that help define the length of string :) silly of me not to include that information in my question
    – Holly
    Nov 7, 2015 at 17:09
  • 1
    @Holy No, it does not. You need to profile your application to see if RDS is slowing things down. There is no objective measure other than that by which one can determine if resource consumption is too high.
    – EEAA
    Nov 7, 2015 at 17:11
  • EEAA, how would you profile the application? I was thinking of trying out new relic
    – Holly
    Nov 7, 2015 at 17:14
  • That would be a good start!
    – EEAA
    Nov 7, 2015 at 17:18
1

It all depends on what kind of storage is backing the server. If it's running on a single 5400 rpm hard drive then, yes, your IOPS are too high. If it's running off of a SAN filled with SSD's then, no, your IOPS are fine. 80 IOPS for a database under load isn't unreasonable but without knowing a WHOLE lot more about your setup it's impossible to know if IOPS are causing your issue or not.

1
  • Our RDS is a db.m3.large with 7.5 GiB memory and 100 GB SSD storage
    – Holly
    Nov 7, 2015 at 17:10
0

Your bottleneck is unlikely to be IOPS with the data you've given. Your bottleneck might still be the database -- queries can be slow without being disk bound.

I believe your bottleneck is unlikely to be IOPS because you state that you have "100 GB SSD storage". In that case Amazon allots you 300 IOPS (for both reads and writes combined), or if you are instead using provisioned IOPS you'll have at least 1000 IOPS.

Note: You can view your total IOPS usage in Cloudwatch. You can also view your Burst Balance which will show you whether you are consuming more IOPS than your allotment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.