运行postgresql 9.x(9.1 - 9.3)
我有一个使用php的PDO库构建的自定义Web应用程序。我们的应用程序中的每个查询都使用预处理语句(通过我们的内部PDO包装器库)。
我们的生产系统使用AWS EC2小型实例用于Web服务器,RDS用于应用服务器。 对于本地开发,我的本地计算机充当Web服务器,运行Mac OSX(Mavericks)的办公室计算机为数据库提供服务。
当我在工作时,我通常可以ping我的本地办公室数据库服务器并获得1-5ms的ping时间。一切都运行良好,页面加载时间非常快,我的内部计时器显示PHP在大约12ms内从头到尾运行页面。
现在,当我将笔记本电脑带回家时,问题出现了 - 从家里,我得到大约50-60ms的ping时间到办公室数据库服务器。如果我在家里运行我的开发机器,页面时间现在需要5-10秒才能加载 - 每次。当然,每页加载有4个db查询,这是非常非常少的数据。我已经尝试过TCP_NOWAIT设置,我已经尝试在本地计算机上加载pgbouncer,并且持久连接到远程数据库 - 到目前为止没有任何帮助。
在对查询进行计时时,我们有一个简单的查询,返回100字节的数据,在本地运行.0006秒,大约需要1秒才能远程运行。最后,我会说它似乎只与延迟相关,无论查询返回多少数据,就像它在本地运行时需要的时间长1秒左右。给予或接受。
我只是想知道是否有人可以帮我解决这种延迟可能是什么。似乎每一个查询,无论有多少数据,都会延迟大约一秒,给予或接受。奇怪的是,当我在连接到远程数据库的机器上运行PGAdmin时,运行简单查询的时间太长了。
有没有人知道其他事情要尝试?我没有运行SSL DB连接,或者使用任何压缩,我愿意在必要时尝试,但是,这是我以前没有工作过的一件事,我怀疑这对延迟有帮助。< / p>