远程Redis连接速度慢


Remote Redis connection slow

我正在尝试将Redis用于Drupal网站,该网站托管在Ubuntu 14.04上。

我已经安装了redisdrupal模块,并且正在使用Predis库。我还安装了"redisserver"Ubuntu软件包,并保留了默认配置。

将Drupal站点配置为使用Redis作为其缓存后端运行良好,页面速度极快。

当我试图启动一个m3.medium AWS实例并在那里托管redis服务器时,问题就出现了。这背后的原因是,我们可以使用一个redis服务器,并从多个服务器连接到它(实时网站托管在负载均衡器后面的多个实例上,因此每个实例都应该连接到同一个redi服务器)。

我已经在实例上设置了redis服务器,修改了redis.conf文件以绑定正确的IP地址,这样就可以从外部访问它,打开6379端口,然后尝试从我的本地计算机连接到它

redis-cli -h IP

它运行得很好,所以我决定切换本地站点的配置,指向新的redis服务器。当我这样做的那一刻,网站变得非常慢,起初我认为它可能根本无法加载。差不多一分钟后,它终于加载了主页。在网站上点击几乎同样慢,但时间减少到了10-15秒。这仍然是不可接受的,甚至无法与使用redis服务器时闪电般快速的页面加载相比。

我的问题是:我需要做一些特定的配置来加快远程连接吗?是不是有什么阻碍了它的良好表现?某个地方的瓶颈?

如果你想让我添加drupal settings.php配置,请告诉我,尽管我使用的是相当标准的配置。

尽管我为php应用程序运行了与您尝试的相同的配置,但我在小型或中型实例上托管redis并处理大量流量都没有问题。某个地方一定存在配置问题。调试它的另一个选择是尝试切换到Elasticcache(AWS的redis产品),它要求所有客户端都在同一区域内,但这可能会使查找问题变得非常容易。