为了账号安全,请及时绑定邮箱和手机立即绑定

SQL压力测试用的语句和相关计数器

标签:
SQL Server

将数据库中所有表的所有的内容选一遍:

IF object_id('tempdb..#temp')   is   not   null      
BEGIN   
DROP TABLE #temp   
END
DECLARE @index int   
DECLARE @count int   
  DECLARE @schemaname varchar(50)   
DECLARE @tablename varchar(50)   
set @index=1   
set @count=(select count(*) from sysobjects where xtype='U')
  select row_number() over(order by name) as rowNumber,name,   
  ( SELECT a.name from sys.tables t inner join sys.schemas a   
ON t.schema_id=a.schema_id   
WHERE t.name=ob.name) as schemaname   
into #temp from sysobjects ob where xtype='U'
WHILE(@index<@count)   
BEGIN   
set @schemaname=(SELECT schemaname from #temp where rowNumber=@index)   
set @tablename=(SELECT name from #temp where rowNumber=@index)
exec('select * from '+ @schemaname+'.'+@tablename)
set @index=@index+1
END


通常来说,需要看如下几个计数器:

  • Memory: Pages/sec

  • Memory: Available Bytes

  • Network Interface: Bytes Total/Sec

  • Physical Disk: % Disk time

  • Physical Disk: Avg. Disk Queue Length

  • Processor: % Processor Time

  • System: Processor Queue Length

  • SQL Server Buffer: Buffer Cache Hit Ratio

  • SQL Server General: User Connections

 

Memory: Pages/sec:最好不要大于5,否则有内存问题

Memory: Available Bytes :这个可以望文生义,不解释

Network Interface: Bytes Total/Sec :如果这个计数器下降的太快有可能是网络出现问题

Physical Disk: Avg Disk Queue Length:每个物理盘的等待队列,大于2有可能是IO瓶颈问题

Physical Disk: % Disk time: 读/写活动的百分比,不要大于90%,和上面的计数器一起可以显示IO瓶颈

Processor: % Processor Time :CPU瓶颈,不要大于90%,大多数情况下,内存和IO瓶颈要更多

System: Processor Queue Length :同样,和上面计数器一起找出IO瓶颈

SQL Server Buffer: Buffer Cache Hit Ratio :缓存命中率,不要低于85%,否则考虑加内存

SQL Server General:并发数,压测时快到某一瓶颈看看这个数字,可以作为基准(BaseLine)记下来

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消