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.

Holly
  • 1,027
  • 5
  • 14
  • 25
  • 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 07 '15 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 07 '15 at 17:07
  • @CIA, just updated my question. – Holly Nov 07 '15 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 07 '15 at 17:55

3 Answers3

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.

EEAA
  • 109,363
  • 18
  • 175
  • 245
  • @Thank you, to clarify [db.m3.large](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) 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 07 '15 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 07 '15 at 17:11
  • EEAA, how would you profile the application? I was thinking of trying out new relic – Holly Nov 07 '15 at 17:14
  • That would be a good start! – EEAA Nov 07 '15 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.

David King
  • 476
  • 2
  • 6
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.

Felix
  • 173
  • 5