本文主要讲解“LoadRunner性能测试—SQL等待类型” 。SQL Server通过SQLOS(SQL Server Operating System)调度程序来管理用户请求执行,SQLOS则通过SCHEDULER、WORKER、TASK等对任务进行调度和处理。
在SQL Server中根据等待类型进行分类,通常可以分为三类:
Resource waits(资源等待)
当某个工作线程请求对某个不可用的资源进行访问(由于该资源正在由其他某个工作线程使用,或者该资源尚不可用)时,便会发生资源等待的情况。资源等待的示例包括锁等待、网络等待、闩锁等待以及磁盘 I/O 等待,锁等待和闩锁等待都是指等待同步对象。
Queue waits(队列等待)
当工作线程处于空闲状态,等待分配工作的时候,便会发生队列等待的情况,队列等待一般发生在系统后台任务(如监视死锁以及清除已删除的记录等任务)中,这些任务将等待工作允许,被置入工作队列,即便不再有新数据包置入队列,队列等待也可能定期处于活动状态。
External waits(外部等待)
当 SQL Server 工作线程正在等待外部事件(如链接服务器查询或扩展存储过程调用)完成时,便会发生外部等待的情况。当诊断显示有防碍的问题时,请注意外部等待无法始终表示工作线程是处于空闲状态的,因为工作线程可能处于活动状态并且正在运行某些外部代码。
资源等待,包括I/O、内存以及加锁,都是最为常见的等待情况。
如果出现下列任意一情况,则说明SQL Server 工作线程目前不可能处于等待状态:
资源变得可用。
查询非空。
外部进程完成。
即便线程不再处于等待状态,但是它并不表示能够立即运行,因为此类线程首先置入可运行工作线程的队列中,同时需要等待量程在计划程序中运行,在SQL Server中,等待时间计数器为bigint值。
以上就是今天与您分享的LoadRunner性能测试—SQL等待类型的相关内容,感谢您的观看!如您有任何疑问请及时与我们联系,道普云将竭诚为您服务!