当网站在数据库服务器上调用时,Apache服务器和MySQL服务器之间5-7秒的延迟

我目前正在为我的Web和数据库服务器运行一个虚拟化的环境。 当我单独访问Web服务器或MySQL服务器时,它们都很快。 我也有在networking服务器上运行的网站,不需要数据库服务器,所有这些都快速加载。 但是,当我访问我的托pipe网站,需要Web服务器从数据库服务器调用时,每个页面负载大约有5-7秒的延迟。 这已经被一个非常简单的网站和一个Word Press设置所证实。 这是configuration:

Web服务器 – CentOS 6.5,Apache 2.2.15

DB服务器 – CentOS 6.5,MySQL 5.1.73

我的问题是,服务器是否在每个数据库调用中不断地相互validation(从而导致延迟)? 如果是这样的话,有没有人知道如何永久authentication两者之间?

在这个假设下我可能会失败,身份validation可能与此无关。 在这一点上,我完全接受任何想法。 非常感谢你。

V / R,

托尼

2014年4月17日更新

DNS确实是罪魁祸首。 一旦我将每个服务器添加到其他dns主机文件,延迟消失。 具体放下我所做的。

我首先去了我的DNS位于/ etc / hosts(注意它是主机,而不是hosts.conf)在两个服务器上的主机文件,并添加了每个服务器:192.168.0.1服务器1 192.168.0.2服务器2

然后我去了位于/etc/nsswitch.conf的nsswitchconfiguration文件,并确保两个configuration文件(每个服务器上都有一个)包含以下行:hosts:files dns

然后,我ping主机名称,并能够解决私人IP。 延迟现在消失了! 感谢所有的帮助和答案。

V / R,

托尼


*这里的旧post的东西*

即使设置连接和身份validation,这也是一个很大的延迟,在相同的虚拟机(同一台服务器)上的Web服务和数据库服务器? 如果没有,可能会有DNSparsing问题。

我build议编写最简单的PHP代码连接到数据库使用mysql_connect第一(不坚持连接)和较新的mysqli保持连接http://ca3.php.net/manual/en/mysqli.quickstart.connections .php并检查它们需要多长时间,这将排除Web应用程序代码的问题。

另一个testing是去(networking)服务器,并用mysql命令手动连接到数据库,看看需要多长时间。

在所有这些testing除了连接,你可以添加一个简单的select查询。