未知的性能问题

时间:2009-07-10 17:45:14

标签: sql-server performance

在我们的sql server框中(X64机器带有16核的16G Ram),我们发现在我们生成一堆数据之后性能真的很糟糕,有些时候我们甚至不能将RDP这个盒子,有几个错误的消息SQL错误日志如下:

*2009-06-26 12:11:09.92 spid63      Error: 14151, Severity: 18, State: 1.
2009-06-26 12:11:09.92 spid63      Replication-Replication Distribution Subsystem: agent ##job## failed. The process could not access database 'db_STR' on server 'Test01'.
2009-06-26 12:11:30.66 spid57      Replication-Replication Distribution Subsystem: agent ##job## scheduled for retry. The process could not connect to Subscriber 'Test01'.
2009-06-26 17:42:01.48 spid54      Replication-Replication Distribution Subsystem: agent ##Job## scheduled for retry. TCP Provider: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
2009-06-26 17:50:05.96 spid69      Replication-Replication Distribution Subsystem: agent ##Job## scheduled for retry. TCP Provider: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
2009-06-26 17:59:04.64 spid84      Replication-Replication Distribution Subsystem: agent ##Job## scheduled for retry. TCP Provider: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
2009-06-26 18:00:02.62 spid83      Error: 14151, Severity: 18, State: 1.
2009-06-26 18:00:02.62 spid83      Replication-Replication Distribution Subsystem: agent ##Job## failed. Not enough storage is available to process this command.  The step failed.
2009-06-26 18:00:02.76 Server      Error: 26040, Severity: 17, State: 1.
2009-06-26 18:00:02.76 Server      Server TCP provider has stopped listening on port [ 1433 ] due to a failure. Error: 0x2747, state: 2. The server will automatically attempt to reestablish listening.
2009-06-26 18:00:03.17 spid94      Error: 14151, Severity: 18, State: 1.*

我检查所有硬盘并且都有足够的可用空间,内存和CPU使用情况看起来都很好,内存高达15G,cpu使用率正常,低于40%。我怀疑它是页面/非页面池泄漏,但是对于x64机器,非页面池的限制是> 6G它只使用了大约100M,有人知道系统有什么问题吗?

由于

4 个答案:

答案 0 :(得分:1)

您是否为SQL Server配置了RAM限制/即最大内存设置?如果没有,它可能会从操作系统中获取更多RAM而不是有用。我会尝试将最大内存设置得足够低,以便为操作系统和其他进程提供几GB的RAM。此外,您是内存或标准版的锁定页面企业?如果是标准的,并且SQL Server占用了更多的内存,那么它可能是分页,这是一个性能杀手。

如果这是问题,这是一篇精彩文章:

http://blogs.msdn.com/slavao/archive/2006/11/13/q-a-does-sql-server-always-respond-to-memory-pressure.aspx

同样在这里:

http://www.johnsansom.com/index.php/2009/03/sql-server-memory-configuration-determining-memtoleave-settings/

答案 1 :(得分:0)

看起来你生成的数据库请求太多了。

答案 2 :(得分:0)

可能是IO延迟也可能是问题。

检查以下页面:

答案 3 :(得分:0)

这可能是I / O损坏问题。 请查看this MSDN forum post