sql server数据库下做压力测试,10个线程数据库就死了,如何处理?

我有个sql语句,执行一次删除再一次录入,这两步操作在一个事务里。现在做压力测试,10个线程数据库就死了。用DBCC INPUTBUFFER语句查只显示了IF @@TRANCOUNT > 0 COMMIT TRAN SET IMPLICIT_TRANSACTIONS OFF...显示全部

我有个sql语句,执行一次删除再一次录入,这两步操作在一个事务里。现在做压力测试,10个线程数据库就死了。
用DBCC INPUTBUFFER语句查只显示了IF @@TRANCOUNT > 0 COMMIT TRAN SET IMPLICIT_TRANSACTIONS OFF

收起
参与23

查看其它 5 个回答TonyWang的回答

TonyWangTonyWang系统工程师BY

需要明确下你说的数据库死了是指的什么

  1. 是指连接数据库连接超时? 这个要考虑数据库配置的连接数(可能性小)
  2. 是连接上数据库但没有及时获得工作线程(CPU调度),这个考虑下最大线程数配置(可能性较小)
  3. 是获得了工作线程,但在等待某种资源,导致查询hang住,这个可以需要查看下具体等待什么资源

另外,压测时,关注下服务器的资源使用,如CPU、内存等,看下error log有没有一些错误信息等,辅助诊断错误

总之,我觉得还是得具体问题具体分析

互联网服务 · 2018-08-14
浏览3759

回答者

TonyWang
系统工程师BY
擅长领域: 存储服务器数据库

TonyWang 最近回答过的问题

回答状态

  • 发布时间:2018-08-14
  • 关注会员:7 人
  • 回答浏览:3759
  • X社区推广