0

我的应用程序只是将表从本地数据库复制到分布式数据库服务器。要复制的数据相当大,大约有数千条记录,并且完成了大约 30 秒的工作(不确定需要多长时间)。此应用程序在预定或用户输入(强制方法)上运行。

数据库服务器使用 JHA(Jack Henry and Association)。

问题是,有时数据库服务器会遭受非常高的 CPU 和内存使用率,这会导致使用同一数据库服务器的其他一些应用程序无法从数据库中获取数据。在进行了一些跟踪之后,我们发现来自我的应用程序的操作正在使用非常高的 CPU 和内存使用率。

我的解决方案是在复制数据时,我一次复制 100 条记录,然后让我的应用程序休眠 100 毫秒,然后复制下 100 条记录,依此类推,直到复制所有数据。这够了吗?我的解决方案是否会产生重大影响?你的建议是什么?

仅供参考,我的应用程序是从多台计算机运行的,因此是多台客户端计算机和一台数据库服务器。我真的真的需要你的帮助:)

4

1 回答 1

0

尽管此链接http://msdn.microsoft.com/en-us/library/ff649152已停用,但其一般流程指南对于解决性能问题仍然有用。

还投资一些工具。VS 自带一些性能分析工具,SDK 有一些,你可以使用 PerfView http://www.microsoft.com/en-us/download/details.aspx?id=28567。您还需要查看您的数据库平台。那里发生了什么?也许缺少索引?还是未使用的索引?

  1. 你的绩效目标是什么?
  2. 测量,有一个基线,
  3. 调查,生成选项,
  4. 实施一项(仅一项)
  5. 再次测量。
  6. 有所收获?不,回滚 3,选择下一个选项,如果没有选项,则执行 2
  7. 达到绩效目标了吗?不,转到 3。
于 2012-08-18T18:18:29.650 回答