我在位于盐湖城的 VMware 主机上托管了一个加密的 SQL Server 数据库 (SQL Server 2012)。我的盐湖城数据管道通过 Comcast 的光纤传输速度为 100 Mbps。我的凤凰城一侧通过 Cox 的光纤传输速度为 50 Mbps。站点之间的延迟为 45 毫秒。每个办公室大约有 40 个用户。20 个用户从凤凰城登录我们的 E-manage 应用程序,大约 20 个用户从盐湖城一侧登录。
使用 E-manage 的 Salt Lake LAN 用户没有速度问题,但是,我的 Phoenix LAN 用户报告在使用 E-manage 应用程序时访问速度很慢。开发人员认为问题源于虚拟化(VMWare ESxi 5.5)的使用。当我检查 VMware 和 SAN 的资源利用率时,我发现所有资源(CPU、RAM 等)基本上都处于休眠状态。我为 Cox 和 Comcast 运行了带宽报告,我的带宽利用率在正常范围内。我使用的内部应用程序没有出现其他速度变慢的问题。
我已经向 Comcast 和 Cox 提交了申请,以了解可以采取哪些措施将延迟从 45 毫秒降低到 20 多毫秒到 30 多毫秒。我认为这样做会有所不同。我在网络两端运行 WAN 加速器以加速 TCP 流量并排除 SQL 流量。为了排除 Phoenix 网络,我让用户将笔记本电脑直接连接到 Cox 光纤电路,然后使用 E-manage。结果相同。响应时间很慢。我在站点之间确实有一个 IPSec 隧道,为了排除 IPSec 隧道,我更改了 Phoenix DNS 记录以利用我为 SQL 服务器设置的公共 A 记录。
我已向 SQL 开发人员索要了另一个客户的联系方式,这样我就可以了解从远程站点运行时他们的访问/响应时间是怎样的。我很乐意提供更详细的信息,看看我是否遗漏了什么。我还考虑过运行来自第三方的独立 SQL 查询,以查看我的 SQL 服务器的运行状况以及 SQL 数据库是否存在任何潜在问题。
我确实有一个物理服务器,我准备配置它以查看是否会产生影响。
我期待任何评论、建议和忠告。
提前致谢 - Troy
答案1
在我看来(我没有任何经验数据),从性能角度来看,通过 WAN 连接运行基于 SQL 的应用程序很少能很好地工作。有多个层面可能会给 WAN 用户带来问题,而 LAN 用户则不会轻易发现这些问题;应用程序延迟、SQL 加密延迟、操作系统延迟、网络延迟等。在其他所有条件相同的情况下,正如您所说,从用户的角度来看,网络延迟可能是问题所在。除非您拥有来自同一提供商的两个位置之间的专用私人连接,否则任何一方都无法做任何事情。他们只能控制自己的网络基础设施,而不能控制彼此,当然也不能控制两者之间的任何东西。您的延迟并没有给我留下太严重的印象,所以我很想知道两个办公室之间发生了什么样的数据包丢失(如果有的话)。