首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql服务器并发性能

sql服务器并发性能
EN

Database Administration用户
提问于 2011-08-02 08:28:23
回答 5查看 1.9K关注 0票数 8

我们在生产环境中遇到了一些性能问题。

我们发现,当活动会话超过25次时,CPU的使用率达到100%,下降需要很长时间。

我们拥有的环境:

产品Microsoft企业版9.3(sp2)

CPU 2(Xeon 2.13)

存储器7G

会话

detail1

快照

活跃的会议. 25

活动事务496

闲置会议289

被阻止的交易29

会话

detail2

快照

活跃的会议59

活动事务885

闲置会议267

被阻止的交易49

我想知道:

  1. 2 can是否可以处理25个活动会话(500个活动事务) well.PS:我们已经测试,如果没有并发请求,一个事务(读取/写入5个表)在应用程序级别需要大约1秒。
  2. 阻塞事务是否占用更多的CPU usage.PS:the阻塞事务主要是由于两个表上的锁。

解决方案是什么:添加CPU?或者调优应用程序(java/hibernate)来缩短这个事务并减少表中的块?

EN

回答 5

Database Administration用户

发布于 2011-08-04 18:06:58

当每件事都在爬行的时候,你可以选择对情况有一个很好的了解:

  • 使用服务器端跟踪查看最长和最繁重的会话
  • 使用Adam Machanic的谁是活跃的存储过程-保存服务器加载时的信息-非常免费的脚本。
  • 使用Management中的活动监视器只是为了直观地看一眼(Cpu和IO是我发现的最有用的)--这是Management中包含的非常好的工具
  • 使用一个第三方免费工具- 免费 -这是非常好的时刻,当一切都是缓慢的,需要看到的细节等待统计,blocking..etc。-奇妙的免费工具
  • 检查最新的统计数据
  • 检查索引是否是分段的,如果是的话,将它们分解。
  • 遵循其他检查缺失指标的建议,设计
  • 检查在数据库中使用快照隔离级别的可能性(您的阻塞程度很高,所以很好地了解您是否真的需要当前的隔离级别)。

祝你好运,调查这些问题:-)。

票数 6
EN

Database Administration用户

发布于 2011-08-02 08:48:27

您的问题很可能是由于

  • 设计低劣
  • 差标引

锁/阻塞来自糟糕的索引,因为花在扫描表的所有时间都是端到端的。CPU在这里是不相关的。

作为快速修复,使用本文中的信息检查缺少的索引:链接

票数 5
EN

Database Administration用户

发布于 2011-08-07 14:19:45

我同意GBN和Marian的观点。

要回答您关于处理25个请求的2-CPU的问题:我有一个2 CPU系统,它支持大约750个用户连接,并且每秒平均运行4K批处理请求。有几项对我来说很重要:设计、管理和调优。如果您从糟糕的应用程序和数据库设计开始,那么在加载时就会失败(请考虑缩放)。

较高的CPU可能表示内存压力。您提到只有7GB的内存可供Server使用。如果有性能不佳的索引(太多索引、不正确的索引或没有索引),那么这将导致系统为各种请求将更多的数据库分页到内存中,如果有适当的索引。我要提醒你,疯狂地创建索引,因为错误的索引也会伤害你,因为每个索引都有可能在行更新过程中要求更新(创建-更新-删除)。

此外,使用缺少的索引DMVs需要使用您所知道的应用程序和数据库,而不仅仅是实现每个推荐的索引。我会查看金伯利·特里普关于索引这里的博客条目。在索引部分之后,查看其他类别可能对您的情况有所帮助。

如果您的Java/Hibernate更新单个事务中的5个表通过多次往返数据库进行更新,那么您将面临争用(阻止CRUD请求)。如果应用程序不能及时返回数据库,问题就会恶化。在应用程序中,关联的活动事务可能阻止其他请求的处理,并导致请求超时。

将上述两个问题加在一起,您就会开始出现严重的性能问题。

在单个事务的上下文中减少数据库往返次数将是一件非常好的事情。也许存储过程会有所帮助。

其余的工作将需要工作,以使您的应用程序的规模。您也可以考虑内存,但这应该是在完成了设计和性能评审之后,并且作为立即添加内存而实现的所需更改将掩盖您的问题。

绝对遵循玛丽安概述的建议。

我想说的是,你发现自己是一个伟大的挑战,并祝你取得巨大的成功!

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/4307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档