【发布时间】:2011-05-09 14:00:20
【问题描述】:
我正在将 MS Access 2003 应用升级到 SQL Server 后端。在我的开发机器上,SQL Server 是本地的,所以性能相当不错。我想使用远程 SQL Server 测试性能,以便在重新设计应用程序时考虑网络延迟的影响。我预计一些现在看起来很快的查询在部署到生产环境后会运行得很慢。
如何在不使用虚拟机或将 SQL 重新定位到另一台计算机的情况下减慢(或模拟远程)SQL Server 的速度?是否有某种代理或 Windows 实用程序可以为我执行此操作?
【问题讨论】:
-
只需编写您的应用程序以高效地进行数据检索,即永远不要检索超过用户需要或一次可以使用的内容。这在任何环境中都是有效的,包括使用 Jet/ACE 后端。它没有什么神奇之处。您可能会遇到边缘情况的唯一情况是,如果您计划在开放的 Internet 上运行,那里的带宽相对非常低(与 LAN 相比)。在这种情况下,您可能会做得更多,但我建议不要过早优化 - 使其高效,然后解决不够快的问题。
-
@David:我正在移植一个非常大的现有 MS ACcess 应用程序。我需要对所做的更改保持战略性,没有时间或预算来修改每个查询和数据源。
-
我什至没有开始建议修改所有内容。如果它是一个设计良好的 Access 应用程序,它的性能可能会非常好。如果不是,那将需要大量工作。无论后端是 Jet/ACE 还是服务器数据库,仅检索有限数量的记录的原则使得应用程序快速、高效。
-
我对现有应用程序的经验是,瓶颈几乎无法预测。每次我升迁时,我认为每个应用程序的许多区域都存在需要通过移动逻辑服务器端来处理的问题,还有一些我认为可以正常执行的其他区域,因为原创设计。但大约 50% 的时间,瓶颈表现良好,没有问题的区域成为瓶颈。如果不进行升级和测试,根本就没有办法知道。使用与工作站分开的服务器来进行操作就足以揭示这些。
标签: sql-server performance ms-access proxy latency