要运行的代码有助于对新SAS驱动器进行基准测试?

要运行的代码有助于对新SAS驱动器进行基准测试?,sas,performance-testing,benchmarking,Sas,Performance Testing,Benchmarking,我们刚刚有了一个新的服务器,它将只用于运行SAS代码,我被要求运行一些测试,确保它比我们的其他服务器性能更好。我不是这方面的专家,所以我想确保避免犯一些不能正确衡量服务器性能的幼稚错误。我的标题如下所示: options fullstimer; %LET BenchStartTime = %sysfunc(datetime(),22.); 我用它来检查日志中的“实时”报告。我对“用户cpu时间”和“系统cpu时间”之间的区别有一个模糊的理解,但是如果有人想提供更多关于这方面的信息,那将是很有

我们刚刚有了一个新的服务器,它将只用于运行SAS代码,我被要求运行一些测试,确保它比我们的其他服务器性能更好。我不是这方面的专家,所以我想确保避免犯一些不能正确衡量服务器性能的幼稚错误。我的标题如下所示:

options fullstimer;
%LET BenchStartTime =  %sysfunc(datetime(),22.);
我用它来检查日志中的“实时”报告。我对“用户cpu时间”和“系统cpu时间”之间的区别有一个模糊的理解,但是如果有人想提供更多关于这方面的信息,那将是很有帮助的

无论如何,这篇文章的重点是,我想知道是否有任何标准的基准测试,我应该使用,以看看这个新的服务器是否比旧的更好。目前,我正在使用我在网上找到的东西,它只是附加了一堆sashelp.class的副本(但我认为这可能是个坏主意,因为从C:中提取并加载到不同的驱动器可能在所有服务器上都是相同的,对吧?如果C:是最慢的驱动器,这不是成为瓶颈?),我还使用代码,基本上生成一组固定大小的随机数据,并比较运行时。这是正确的方法吗?我还有别的事要做吗?我应该运行多少次这些基准测试来确保它不是偶然的


谢谢你的帮助

在SAS 9.2及更高版本上,您可以使用%sasome%/SASFoundation/9.x/sasiotest.exe实用程序。您将在支持说明中找到一些进一步的指导

编辑:


可以为Unix平台下载一个类似的实用程序,详细信息请参见支持说明。

我将通过执行您通常执行的操作进行测试。如果您运行更大的合并,那么您基本上是在谈论I/O;因此,只需制作一个非常大的数据集,将其写出,读入,等等,然后在另一台机器上执行相同的测试。在新的SAS会话中每次执行几次测试


此外,听起来您需要确保新服务器能够处理多个并发会话。您可以通过使用SAS/CONNECT从一台计算机提交多个连接来部分模拟这一点;这允许您启动多个并发会话。然后这样做,也许我会创建一个脚本来启动本地SAS会话,登录到服务器并重新提交一个可能需要5到10分钟的正常难度的作业,然后并发运行该脚本20次(您可以编写此脚本或双击.bat文件20次)。查看与其他服务器相比,它是如何处理的。

您通常做什么工作?以咨询身份进行数据分析。主要是加载文件(大多数是CSV)、清理、合并、转置、处理等。好的,您(或他们)在决定升级时考虑了什么样的工作?现在的慢船是什么?慢的工作通常是巨大的合并,但真正的问题是,我们的服务器上白天有40-50个用户,如果有足够多的人在做中等规模的工作,程序会走得更长。我们当前的进程使用以下方法:在代码数据基准测试开始时;开始=日期时间();跑最后也是一样。数据基准;设置benchmark end=datetime();跑然后将这些数据存储到历史数据集中。