【问题标题】:SQL Server bad performance per serverSQL Server 每台服务器性能不佳
【发布时间】:2013-09-11 09:58:19
【问题描述】:

我有一个在 SQL SERVER 2008 R2 数据库中运行大量插入的 .NET Windows 应用程序。

当我在笔记本电脑上运行应用程序时(数据库也在笔记本电脑上),它运行良好。 但是当我在一个绝对比我的笔记本电脑更好的服务器上运行它时,它的运行速度至少慢了 5 倍。

在这两种情况下,数据库相同,应用程序相同,数据相同。

哪些因素会影响 SQL Server 的性能(T-SQL 除外)?

【问题讨论】:

  • 您使用的是 SQL Server 2008 Express 版本吗?即使您有一台高端机器,SQL Express 2008 也只需要 1GB 的 RAM。还要检查 CPU/内存利用率。
  • 在这两种情况下,我都使用 SQL SERVER 2008 R2。在服务器计算机中,我认为 SQL SERVER 配置为具有无限内存,因此它需要大约 23 GB 的 24 GB 服务器 RAM。

标签: sql-server performance memory-management configuration installation


【解决方案1】:

嗯嗯嗯,想到了几件事:

  1. 您怎么知道这不是网络问题?
  2. 当您直接在服务器的 SSMS 窗口上运行某些查询时会发生什么?
  3. 该服务器上是否配置了其他应用程序?他们健康吗?
  4. 服务器上的磁盘空间是否不足?事务日志是否已填满?
  5. 您是否对 SQLServer 运行 PerfMon stats 以查看是否存在来自 I/O、CPU、RAM 的资源压力?
  6. 您确定数据库是相同的吗?服务器是否有本地数据库中没有的触发器?
  7. 其他用户是否同时访问数据库?他们是否正在运行可能会阻止您的查询的查询?
  8. 您最近是否更新了服务器上的统计信息?
  9. 您是否在两个数据库中运行完全相同的查询?不同的 where 子句使用索引的方式可能完全不同。
  10. 您是否为两个数据库中的示例查询运行了执行计划并比较了结果?
  11. 服务器上的 SQLServer 日志或事件日志中是否有错误?

【讨论】:

  • 两个数据库完全相同(触发器等没有区别)。相同的数据,相同的查询,相同的where子句。没有安装监控软件。应用程序处于测试阶段,只有一个用户连接到数据库。在这两种情况下,应用程序都安装在与数据库相同的计算机上(无网络问题)。足够的资源(CPU、RAM、硬盘、...)。以上问题都不存在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多