Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 关于缓存的SQL查询性能测试_Sql Server_Tsql_Testing_Sql Server 2014 - Fatal编程技术网

Sql server 关于缓存的SQL查询性能测试

Sql server 关于缓存的SQL查询性能测试,sql-server,tsql,testing,sql-server-2014,Sql Server,Tsql,Testing,Sql Server 2014,形势 我们计划将整个(生产)DWH迁移到一个新集群。其中一个要求是新集群的速度至少与当前集群的速度相同。这需要以当前集群作为基线进行性能测试 在进行这些测试时,我们希望两个环境在行为方面几乎相同 我已经可以从实时生产集群克隆用户行为,并在新集群上执行它。留下缓存待处理 捕获 因为我们要将这个新集群与实时生产环境进行比较,所以我不能简单地清除两个服务器的缓存。清除新集群的缓存是可能的,因为它尚未投入生产。但是,我不打算清除实时生产集群的缓存,因为这仍然在使用,并且会对性能产生很大影响 我想知道是否

形势 我们计划将整个(生产)DWH迁移到一个新集群。其中一个要求是新集群的速度至少与当前集群的速度相同。这需要以当前集群作为基线进行性能测试

在进行这些测试时,我们希望两个环境在行为方面几乎相同

我已经可以从实时生产集群克隆用户行为,并在新集群上执行它。留下缓存待处理

捕获 因为我们要将这个新集群与实时生产环境进行比较,所以我不能简单地清除两个服务器的缓存。清除新集群的缓存是可能的,因为它尚未投入生产。但是,我不打算清除实时生产集群的缓存,因为这仍然在使用,并且会对性能产生很大影响

我想知道是否可以克隆/模拟两个集群之间的缓存


在这个问题上,我也愿意采取完全不同的方法。

我认为你的做法是错误的,原因如下。我假设如下:

  • 新集群的硬件与前一集群的供应商、质量等相同
  • 在新实例上,内核/CPU、RAM等与新实例一样好或更好
  • 该实例的版本相同,或者是SQL Server的升级版本。注意,升级并不意味着查询在所有情况下都会执行得更好
  • 存储相同或更好(SAN/NAS配置)
  • 服务器设置相同(MAXDOP等)
如果这些都不是真的,那么我不明白你为什么要进行测试,因为它不会比较苹果和苹果。尽管如此,我仍然不知道即使可以镜像计划缓存,测试如何平等。您可以创建一个用于性能测试的全新查询,并在两个实例上运行它以比较它们的性能(它将使用一个新的计划),但这里有一个大问题。。。您不会将所有用户从生产实例中赶走,因此基线查询将争夺资源。除非您的生产服务器有一个完全相同的镜像,没有用户在使用它,否则我不知道您将如何得到一个无偏见的测试


尽管如此,大多数情况下,您都是在升级到更快、更好的硬件,以便在假设配置相同的情况下,您可以放心地认为它会更快,或者至少不会更慢。此外,还有很多性能调整博客,来自Dave Pinal、Paul White、Brent Ozar、Paul Randall、Aaron Bertrand等。。。从最佳服务器设置到查询优化。仅此一点,就可能是性能上的日夜差异以及适当的数据库维护(修复索引碎片、修复数百或数千个只使用一次的计划的查询、修复一般索引等)

我正在从最终用户的角度对此进行测试。这是因为它的承包方式。合同基本上是这样写的:“你们这些新手,只要终端用户的查询速度不慢,就做你们需要做的事情。”因此,我的任务就是从终端用户的角度对其进行测试。因此,我想测试新服务器的性能是否至少也一样好。我的观点是,有两个不同的缓存,它不会做出公平的比较。我改变了主意,决定让测试运行更长的时间,并比较所有查询的平均处理时间。这些不应该受到太大的影响