从本地MySQL服务器切换到Amazon RDS后,性能急剧下降

时间:2014-03-14 06:17:50

标签: php mysql amazon-web-services amazon-rds

我刚从本地MySQL服务器(在EC2微型实例上)切换到RDS实例,我看到速度急剧下降。

对RDS的一个SQL请求等于对本地数据库的40个请求。

大量SQL请求使脚本速度极慢。有一个表格,它显示了网站页面生成的时间:

本地MySQL服务器与RDS

+----------------------------------+
| Requests | Local server* | RDS*  |
+----------------------------------+
|        1 |           220 |   115 |
|        3 |           200 |    60 |
|       10 |           180 |    25 |
|       20 |           150 |    10 |
|       40 |           115 |     5 |
+----------------------------------+

* - 脚本运行速度1 / n,例如200表示1/200秒。

所以基本上,页面有40个非常简单和快速的SQL请求,过去使用RDS渲染渲染0,008秒0.2秒,这显着降低了速度(x23!)。

事实

  • EC2实例和RDS实例位于同一可用区us-west-1b
  • 启用了MySQL缓存(query_cache_type=1query_cache_size=16777216query_cache_limit=1048576),我可以看到SHOW GLOBAL VARIABLES LIKE 'query_cache_type'
  • 我运行的查询是相同的(我只是多次运行相同的SQL语句)select * from user where id = 100,其中idunique index,如果使用MySQL客户端执行它,则工作得非常快(0.0005秒) )
  • 我使用PDO持久连接

我知道现在有一个网络因素,RDS它是远程服务器,客户端和服务器之间有一些延迟,但我没想到会如此剧烈地减少,是正常还是有我能做些什么呢?

0 个答案:

没有答案