AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 141247
Accepted
Greg
Greg
Asked: 2016-06-15 18:04:20 +0800 CST2016-06-15 18:04:20 +0800 CST 2016-06-15 18:04:20 +0800 CST

SQL 性能问题 - 先正确配置服务器还是逐个解决问题?

  • 772

这适用于 SQL Server 2012。

我正在对 Dynamics AX 环境中的整体性能低下进行故障排除。一切都很慢 - 应用程序本身、报告、临时等。马上,我可以看到没有配置 SQL Server 的最佳实践 - MAXDOP、tempdb、特定于 Dynamics 的跟踪标志和索引/碎片化维护。我很确定存在低效查询、缺失或非最佳索引等。

我花了一点时间查看等待统计数据,但现在我想知道我是否应该首先应用所有推荐的最佳实践(DynamicsAX 的行业标准最佳实践),然后解决缓慢的问题,或者深入研究每个问题一个,并在它出现时解决它?我知道有人会说,在您确定需要翻转之前不要开始翻转开关。

您将如何处理这种情况?

sql-server sql-server-2012
  • 2 2 个回答
  • 204 Views

2 个回答

  • Voted
  1. Best Answer
    Tom V
    2016-06-16T02:06:01+08:002016-06-16T02:06:01+08:00

    对此有几点要说,Dynamics AX 性能不一定总是由 SQL Server 缓慢引起,尤其是当您说“一切都很慢”时。

    在 Dynamics AX 中遇到性能问题时,我倾向于使用以下方法:

    • 首先从审查所有涉及的服务器上的资源开始(cpu 压力、内存压力、页面预期寿命……)
      • 每个 AOS、Client 和 Citrix 至少需要 4 个内核
      • AX 对 CPU 延迟非常敏感,请确保您的 CPU 在 BIOS 中设置为高性能。如果你说一切都很慢,即使是简单的形式我的直觉也会告诉你情况并非如此。
      • 执行标准检查,例如磁盘延迟等,不仅在 SQL Server 上,而且在所有涉及的组件上。
    • 然后根据最佳实践验证所有 SQL Server 设置是否正确
      • 更正跟踪标志
      • 正确的索引/统计维护
      • 最大DOP
      • 最大内存设置
      • ...
    • 查看所有相关的数据库属性(如果它们是根据最佳实践设置的)
      • 自动更新统计
    • 通过检查丢失的索引和缓慢的查询来检查数据库设计
      • 使用已知的 DMV 查询(我倾向于喜欢Glenn Berry 脚本)
      • 使用DynamicsPerf记录 dmv 数据如果您联系支持,这将是他们让您安装的第一个工具
      • 将慢速查询记录到SQL 语句跟踪日志中,以便您可以将它们与代码中的调用堆栈相关联
    • 查看应用程序设置中的已知问题(数字序列、数据库日志……)
      • 查看Premier Field Engineers发现的前 10 个问题

    一旦您的设置可以正常运行并且某些进程仍然很慢,请使用Trace Parser对在此过程中运行的每段代码和查询进行精确计时。这应该可以帮助您解决或至少解释为什么剩余过程很慢。

    • 9
  2. Chad Mattox
    2016-06-15T18:33:52+08:002016-06-15T18:33:52+08:00

    我会首先根据最佳实践配置服务器,包括:

    1. RCSI

    2. 最大输出 = 1

    3. 临时数据库

    4. 内存设置

    5. ETC...

    然后,如果性能仍然是一个问题,请深入研究资源最密集的查询并尝试优化它们……不过,我相信 AX 中的一切都是基于游标的。

    • 0

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve