20-40 ms performance difference during peak traffic on amazon RDS
20-40ms is about a thousand miles of latency.  Where are the client and server, relative to each other?  Is Amazon moving the Server around?  Or the Client?

innodb_buffer_pool_size is set reasonably by Amazon (I think).  Do not raise it without raising the amount of RAM?  There is no benefit in making the buffer_pool much bigger than the entire dataset (data &amp; indexes).

For an 8GB VM (which is probably only 7.5GB), 6G is about the max that is safe -- assuming that only MySQL is running in that VM.

Turning on the QC is usually a waste on production systems (except on Aurora).  Also, do not set query_cache_size bigger than about 50M -- else it could slow things down.

20% CPU -- percent of one core?  Of all cores?  20% of all cores seems high.  What is your slowest query?  Also SHOW CREATE TABLE.