制造高CPU使用率的简单方法

在群里有人问制造CPU占用率高的场景用来做测试。所谓做好事难,干“坏”事还不容易?这个需求有很多方法可以实现,比如使用一些压力测试工具。我首先想 到的是HASH JOIN。这个联接比较消耗CPU资源,拿两大表HASH JOIN一下,最好是包含大字段的,开多几个进程,CPU使用率马上飙升到80-90%!

 

下面就使用一张系统视图进行HASH JOIN来实现,简单快捷。

DECLARE @i BIGINT
WHILE (1=1)
BEGIN
    SELECT @i = COUNT(*) FROM sys.all_objects AS a
    LEFT HASH JOIN sys.all_objects AS b ON b.name = a.name
END;
GO

Code-1: HASH JOIN

 

我在SSMS只开了四个session,同时运行上面的脚本的效果图。测试完请手动中止运行脚本。

Figure-1: 性能计数器显示的CPU使用情况

 

Figure-2: 任务管理器显示的CPU资源使用情况

 

posted @ 2016-04-22 23:30  FishParadise  阅读(872)  评论(0编辑  收藏  举报