这适用于 SQL Server 2012。
我正在对 Dynamics AX 环境中的整体性能低下进行故障排除。一切都很慢 - 应用程序本身、报告、临时等。马上,我可以看到没有配置 SQL Server 的最佳实践 - MAXDOP、tempdb、特定于 Dynamics 的跟踪标志和索引/碎片化维护。我很确定存在低效查询、缺失或非最佳索引等。
我花了一点时间查看等待统计数据,但现在我想知道我是否应该首先应用所有推荐的最佳实践(DynamicsAX 的行业标准最佳实践),然后解决缓慢的问题,或者深入研究每个问题一个,并在它出现时解决它?我知道有人会说,在您确定需要翻转之前不要开始翻转开关。
您将如何处理这种情况?
对此有几点要说,Dynamics AX 性能不一定总是由 SQL Server 缓慢引起,尤其是当您说“一切都很慢”时。
在 Dynamics AX 中遇到性能问题时,我倾向于使用以下方法:
一旦您的设置可以正常运行并且某些进程仍然很慢,请使用Trace Parser对在此过程中运行的每段代码和查询进行精确计时。这应该可以帮助您解决或至少解释为什么剩余过程很慢。
我会首先根据最佳实践配置服务器,包括:
RCSI
最大输出 = 1
临时数据库
内存设置
ETC...
然后,如果性能仍然是一个问题,请深入研究资源最密集的查询并尝试优化它们……不过,我相信 AX 中的一切都是基于游标的。