![SQL Server 2000 的 BusinessObjects 报告 CPU 使用率过高(无法解决?)](https://linux22.com/image/554704/SQL%20Server%202000%20%E7%9A%84%20BusinessObjects%20%E6%8A%A5%E5%91%8A%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E8%BF%87%E9%AB%98%EF%BC%88%E6%97%A0%E6%B3%95%E8%A7%A3%E5%86%B3%EF%BC%9F%EF%BC%89.png)
我有一个奇怪的问题,这些问题几乎无法解决(真正解决它们的唯一方法是抛弃技术并购买新技术)。我请过很多专家(大约 10 位顾问)来帮我解决问题 - 但没有解决方案 - 因此我在这里发布它。[请不要因为所谓的专家设置的方式而枪毙我!!我正忙着用 64 位重新设计它 :) ]
我遇到的问题如下:
环境:
Windows Server 2003 x86 Enterprise(32 位)
16 GB RAM
光纤通道 4GB EMC SAN 存储(500GB 分区,操作系统与数据分离)
SQL Server 2000 SP4 x86 Enterprise(32 位)
SAP BusinessObjects XI 3.1(Java、Apache、Tomcat)
“业务数据库,带有 Universe 和业务报告”
McAfee Anti-Virus Enterprise
配置:
/PAE /3GB = boot.ini
SQL = 使用 AWE,Minmem = 4gb,Maxmem = 12gb
已加载最新补丁,包括 SQL 解决更多内存的补丁
sqlserver.exe 在任务管理器中显示 130,123 kb(红灯!!)
问题:我可以通过提取一份报告来拉低服务器的性能,使用所有核心,最高可达 100%(见屏幕截图)。目前,我们有大约 200 名用户通过各种客户端数据库程序以及 BO 报告进行连接。
我是在进程探索器中断硬件中断是80%当此查询运行时。我还发现 SQL Server 显示处于运行状态的 sysprocesses 具有页面锁定
过去两周,我一直在尝试使用“Google”,但收效甚微。我个人认为,底层数据库和 BO 生成的查询(基于关系结构构建的 Universe)导致了从 SQL 传输到 BO 的大量数据集。BO 报告只有一页。
截屏:终端会话截图(2560x1440 分辨率)
如果有人能提供一些有价值的信息来解释为什么会发生这种情况,我将不胜感激。我们在过去 3 个月内一直遇到这个问题,而且数据库的大小一直在增加。
谢谢
答案1
sqlserver.exe 在任务管理器中显示 130,123 kb(红灯!!)
对于使用 AWE 的 x86 机器来说,这很正常。使用 Perfmon 查看 SQL Server 实际使用了多少内存。
查看 BO 正在运行的查询的执行计划,查看是否需要向表添加索引以提高性能。
当 CPU 以 100% 运行的时候,内核 CPU 的运行百分比是多少(任务管理器中的数字没问题)?
我刚刚看到了截图,当 Windows 将 80-90% 的 CPU 时间用于内核内存时,这意味着它将所有时间都花在管理扩展内存上。