Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 提高内存和CPU使用效率的最佳方法_Database_Memory Management_Cpu Usage_Database Server - Fatal编程技术网

Database 提高内存和CPU使用效率的最佳方法

Database 提高内存和CPU使用效率的最佳方法,database,memory-management,cpu-usage,database-server,Database,Memory Management,Cpu Usage,Database Server,我的应用程序只是将表从本地数据库复制到分布式数据库服务器。要复制的数据相当大,大约有上千条记录,完成这些工作大约需要30秒(不知道具体需要多长时间)。此应用程序在计划或用户输入(强制方法)上运行 数据库服务器使用JHA(Jack Henry和Association) 问题是,有时数据库服务器的cpu和内存使用率非常高,这会导致使用同一数据库服务器的其他一些应用程序无法从数据库中获取数据。在做了一些跟踪之后,我们发现来自我的应用程序的操作使用了非常高的cpu和内存使用率 我的解决方案是在复制数据时

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

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

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

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

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

尽管此链接已停用,但它的一般流程指南仍然适用于解决性能问题

还要投资一些工具。VS附带了一些性能分析器工具,SDK有一些,您可以使用PerfView。您需要查看数据库平台。那里发生了什么事?也许索引丢失了?还是一个未使用的索引

  • 你的绩效目标是什么
  • 测量,有一个基线
  • 调查,生成选项
  • 实施一个(仅一个)
  • 再量一次
  • 有什么收获吗?否,回滚3,选择下一个选项,如果没有选项,则执行2
  • 达到绩效目标了吗?不,转到3

  • 关于性能的推理是困难的,如果没有一些基本的精简源代码,它将变得不可撤销。。。您使用事务处理吗?这是局域网/广域网/互联网吗?什么技术堆栈?一张唱片里有什么?有多少个字段,什么类型?我想没有,到目前为止我阅读了源代码(我不是从头开始构建的,它是一个现有的应用程序,最初的创建者很久以前就辞职了),它只是一个基本的数据库连接,没有任何事务,仅供参考,这个应用程序使用的是VB.Net 2.0。该记录包含来自客户的财务数据,它有大约20个字段,有varchar、int和numeric类型。我的想法是给数据库服务器一些时间做其他事情(这就是睡眠的目的),这样数据库服务器就可以从其他应用程序执行操作。够了吗?你有什么建议?我建议你别再猜了。我不想麻烦其他服务器有多忙。这是他们的问题。对不起,我下周才在办公室,所以我不能确定有多少字段和类型。我一回到办公室就会查出来。嗯,我的任务是修复数据库服务器上的性能问题,这是由于我的应用程序执行了大量查询,而其他应用程序使用相同的数据库服务器,因此它们也会受到影响。因此,这或多或少是我现在的问题,至少这是我的任务。这篇文章包含了大量信息供我参考,但我的应用程序本身并不存在问题。我的应用程序运行在客户端计算机上,它对数据库服务器进行大量查询。客户端计算机上我的应用程序的使用率很低,但数据库服务器的cpu和内存使用率很高,因为它执行来自我的应用程序的查询,您是否获得了映像?我会按照你的指示去做,希望我能找出问题并解决它