电脑做系统过程特别慢 (电脑做系统过程特别慢怎么办)

一、问题描述

8月20日11点左右,接到某三甲医院信息科工程师反馈HIS、CIS明显卡顿。


二、问题排查

1、数据库服务器排查

数据库服务器总内存172G, 分配到数据库内存150G,当前使用内存数量112G,内存使用<分配内存,内存充足。

数据库指标参数页预期寿命(Page Life Expectancy )20秒左右,远低于应有的页面预期寿命11250s(150G/4G*300s=11250s)。

一个小tip:Page Life Expectancy 指内存页面在内存中停留的平均时间,是内存压力判断的一个重要参考值。过去系统受32bit限制,内存只有4G,Page Life Expectancy的页预期寿命是300s。现在服务器系统是64bit,服务器内存远大于4G,页面预期寿命计算公式是服务器内存大小/4G*300秒。比如服务内存是64G,分配给Sql Server最大内存(上述Max Server Memory)是60G,那么PLE的参考值就是60/4*300=4500S,大概是75分钟,也就是说,最低限度是每75分钟,内存中的数据跟磁盘做一次完整的交换。

内存充足

指标参数页20s左右

2、SQL指标参数

SQL Server的指标参数每秒超时锁请求数(Lock Timeouts/sec_rate)超出阈值。锁等待时间是一个进程花费在等待另一个进程释放锁的时间。每秒超时锁请求数理想状态0,从下图可一看到超时锁偶尔会达到1000个以上,说明SQL Server数据库有资源瓶颈。

3、磁盘响应值

业务卡慢时出现磁盘响应值和磁盘队列值都很高。正常磁盘响电脑应应该在50毫秒以内、磁盘队列在1以内。

4、数据库服务版本

当前数据库服务器的版本是SQL SERVER 2012 SP1商业智能版,服务器物理CPU是32核,但商业智能版最多只能用到16核CPU。


三、问题分析

通过数据库服务器指标参数分析可见:

1、缓存有压力

导致内存和磁盘之间的数据页面交换非常频繁,导致IO读写量增大。

2、磁盘本身存在IO瓶颈,这使情况变得更糟

归根到底要看SQL语句是不是能够进一步优化。尽量减少造成大量的物理读写。

3、数据库版本限制CPU资源分配,需要版本升级。


四、处理措施及建议

1、检查磁盘性能响应时间高的原因,服务器本身磁盘是否存在其它大的读写,比如CDP磁盘镜像。

2、检查服务器虚拟调度是否正常,排查内存缓存问题。

3、升级数据库服务器序列号为Microsoft SQL Server Enterprise: Core-based Licensing (64-bit),保证数据库服务器能用到全部CPU。

4、将tempdb数据库移到D盘,当前数据库文件存在C盘,可用空间不多,会存在异常导致磁盘用完的风险。

5、优化SQL SERVER查询慢的脚本,链接服务器大表查询增加查询限制。接口查询建议改成标准的接口不要直接链接服务器查询视图。


声明:文案&图片为原创内容,转载请注明。