SQL Server数据库出现性能问题如何进行优化原创
金蝶云社区-杨银芳_KD508
杨银芳_KD508
14人赞赏了该文章 2.5万次浏览 未经作者许可,禁止转载编辑于2024年03月22日 13:54:49
summary-icon摘要由AI智能服务提供

本文概述了关于SQL Server数据库的应用情况了解、性能瓶颈、优化方法及处理策略。包括了解客户数据库配置、使用云巡检排查环境问题,指出高并发和大数据量时缺乏DBA维护易致性能不稳定。提供了数据库优化方法和文档链接,包括索引重建、统计分析更新等。针对性能问题,建议收集RPC日志进行分析,并提出数据库迁移和性能优化专项服务。同时,分享了处理阻塞和连接泄漏问题的分析和方法,及自动调优耗时SQL语句的参考文档。

 一、了解应用情况

        XX客户用的是SQL Server数据库,在线或并发用户数有多少?  数据库有多大(多少G)?  客户那有没有SQL Server数据库的DBA? 数据库服务器的硬件配置如何(CPU个数、内存大小、还有存放数据库的磁盘或存储设备的IO读写能力--每秒读写多少M,IOPS最大输入输出次数)

        对于EAS Cloud客户,首选就是做下EAS Cloud云巡检,排查环境配置是否有问题,了解客户的应用部署、硬件部署情况。

云巡检官网云巡检工具下载及使用指南访问地址
EAS Cloud云巡检:https://csc.kingdee.com/ierp    应用-->云运维-->云巡检-->EAS Cloud云巡检报告(含工具下载、检测文件上传、云端生成的云巡检报告下载)
EAS Cloud云巡检报告解读:

https://vip.kingdee.com/school/43439148569788417?productLineId=8&channel_level=kdclub#pid=5519


二、SQL Server数据库部分数据库本身的性能瓶颈

       对于SQL Server数据库,并发用户达到100以上,数据库达到50G以上,如果客户那还没有配SQL Server数据库的DBA,缺少日常如索引重建,统计分析更新,很易导致数据库上性能不稳定。


三、通用SQL Server数据库性能优化方法

         可以让客户的DBA按以下的方法定期对SQL Server数据库做下维护与优化:

SQL Server针对性调优文档(单文档):

https://pan.yunzhijia.com/s/MTEwNjgxOCwxMWE3#/

SQL Server数据库性能问题全面优化文档(多文档):

https://pan.yunzhijia.com/s/MTEwNjgxOSw3ZTI3#/

EAS系统重新生成索引和重新组织索引(SQL-Server-2008R2)操作文档:

https://pan.yunzhijia.com/s/MTEwNjgyMCwwNDlj#/

        以上三个链接中的优化方法可以解决70%左右SQL Server数据库运维那块产生的性能问题,且需要定期处理,如每月至少要做一次的是EAS系统重新生成索引和重新组织索引(SQL-Server-2008R2)。  对于SQL性能差等功能点性能问题则需要采集到的RPC日志或录制的性能日志进行单点功能点慢性能分析。收集日志后,对于服务期客户,可以在KSM系统中提单进行反馈分析,也可以自行对日志中发现的耗时SQL语句进行分析。

单点慢RPC日志收集:

收集方法如下所示:

1、EAS Cloud GUI客户端上执行慢的功能点性能RPC日志收集方法

来源:金蝶云社区

原文链接:https://vip.kingdee.com/article/183649?fromAction=POST_ARTICLE

2、EAS Cloud WEB网页上执行慢的功能点性能RPC日志收集方法

来源:金蝶云社区

原文链接:https://vip.kingdee.com/article/183650?fromAction=POST_ARTICLE


       如果是因并发用户达到100以上,数据库达到50G以上,客户想要较好的性能,考虑到SQL Server数据库本身的一些性能瓶颈,要达到较好的优化效果,建议签订金蝶总部EAS Cloud数据库迁移专项,将SQL Server数据库迁到Oracle数据库,现场可以联系当地机构销售人员签订相关的专项进行处理。金蝶总部这边专项对接人是@马瑞琪。


SQL Server数据库出现阻塞或连接泄漏性能问题你知道怎样处理吗?

以下分享下分析与处理方法:

EAS操作卡及SQL server数据库阻塞定位分析:

https://pan.yunzhijia.com/s/MTEzMzY2Miw5YTli#/share/0

EAS及数据库连接泄漏分析--Resource unavailable导致客户端无法登录:

在客户端的log4j.log或实例的apusic.log中如果有发现Resource unavailable 或 cannot get requested resource connectionafter a timeout wait   报错信息,可以初步定位为数据库连接泄漏或EAS实例80个连接满。如:

image.png

image.png

相关工具部署及日志收集分析方法见以下金蝶云盘链接 :

https://pan.yunzhijia.com/s/MTEzMzY1NCw1Yzdi#/


       关于耗时SQL语句,可以让客户的DBA定期进行监控与优化,SQL-Server数据库有自动监控与优化耗时的功能,我把相关优化方法与文档分享出来,让客户的DBA去进行优化。如果客户没有DBA或需要第三方或金蝶来做优化,机构可以签订如性能优化专项(金蝶总部EAS Cloud性能优化专项对接人为@罗振其),机构安排技术人员按给的方法对数据库做整体优化,单点优化需要研发配合进行优化。


四、SQL Server数据库耗时SQL语句终集优化方法--自动调优

参考以下文档中的方法进行优化(见附件)

优化图1.png


参考

SQL Server活动监视器(监控数据库级别的CPU、内存、IO、耗时SQL语句):

优化图2.png


图标赞 14
14人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!