我目前正在将 WordPress 安装(在线)从一个托管解决方案迁移到另一个托管解决方案。在此过程中,我通过编辑本地主机文件来测试新的托管解决方案(共享服务器),以便
www.domain.com
指向新解决方案的 IP。在旧主机上,页面加载平均需要约 8 秒,这就是我们要移动主机的原因。但是当我使用我的主机文件测试新服务器时,网页加载,我已经验证它是从新服务器加载的,但它的加载时间是30+秒。
这是操作系统在每次请求时都必须处理 hosts 文件的问题吗??新服务器上的页面请求加载时间非常均匀。就好像每个请求时间都乘以 4。
在让我的客户采用更糟糕的解决方案之前,我需要解决这个问题。
我已经测试过在 OS X 10.10.4 和 Windows 7 Enterprise 上更改 hosts 文件,结果相同;将 www.domain.com 指向新服务器会导致页面加载时间超过 30 秒。
有没有其他方法可以针对共享服务器环境测试域,以便我可以查看这是否是本地操作系统问题而不是他们的服务器问题?共享服务器的 IP ping 保持在 35ms 范围内,因此看起来并不不正常。
编辑跟踪路由看起来不错,19跳。
编辑我能够进行 SSH 登录。结果top
如下:
top - 12:19:12 up 58 days, 10:27, 2 users, load average: 29.86, 38.15, 35.39
Tasks: 2 total, 1 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 44.0%us, 13.1%sy, 0.0%ni, 35.8%id, 6.1%wa, 0.5%hi, 0.5%si, 0.0%st
Mem: 32953672k total, 31990688k used, 962984k free, 2911692k buffers
Swap: 8388540k total, 1100716k used, 7287824k free, 15149856k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11521 lifetiu1 20 0 14952 984 796 R 1.9 0.0 0:00.01 top
18995 lifetiu1 20 0 11528 1628 1292 S 0.0 0.0 0:00.04 bash
内存使用量是否足以导致这种速度减慢?如果是这样,那就表明我应该建议我的客户使用另一台主机。
答案1
从主机文件进行的 DNS 解析通常是即时的。您的 ping 响应时间很短,如果在跟踪路由中没有发现明显的路由问题,或者您的终端没有带宽问题,那么这可能是服务器的问题。使用 top/htop/proc 文件/ftp 检查服务器资源可以让您知道服务器是否因其他用户而超载。根据您提供的信息,我建议切换主机,特别是如果来自多个客户端位置的页面加载时间很长。
答案2
使用主办方文件不可能是这里的问题。
持续超过 30 秒的延迟表明存在严重问题,可能不仅仅是简单的“资源不足”。您的 Web 应用程序是否使用数据库?它们通常是共享主机设置的瓶颈,因此如果您大量使用它,请检查您的查询执行时间。并检查您是否在代码中的某个地方没有超时,或者由于某种原因您的应用程序没有尝试连接到旧服务器(通过 DNS 解析的地址等)。
调试如果在 PHP 中启用,可能会很有用。您还可以尝试在自己的笔记本电脑上的虚拟机中运行应用程序(即使用 VirtualBox),以比较结果并轻松调试。