效率内存和CPU使用的最佳途径

时间:2012-08-17 10:48:06

标签: database memory-management cpu-usage database-server

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

数据库服务器正在使用JHA(Jack Henry和Association)。

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

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

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

1 个答案:

答案 0 :(得分: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。