与 Visual Studio .NET 开发工作站相关的基准测试

与 Visual Studio .NET 开发工作站相关的基准测试

我正在某种 VMWare 服务器上的虚拟工作站上开发带有 Windows 7 64 位、Visual Studio 和 Sharepoint 的系统。

系统运行速度非常慢,Visual Studio 在输入代码时会滞后,智能感知与普通廉价笔记本电脑相比,延迟、打开和保存文件需要很长时间。

据我所知,虚拟机的规格没有问题,而且似乎没有交换等,IT 部门也说他们在监控系统时没有发现任何问题。

只要问题没有得到很好的记录,IT 部门和管理层就不会愿意向我们花钱(=升级笔记本电脑),所以我需要展示某种基准。

我已经很多年没有做过任何系统基准测试了,而且我不知道当前的基准测试软件,所以我的问题是哪个基准测试与 Visual Studio 性能最相关?不仅仅是为了快速编译,而且还要反映系统的“响应能力”。

答案1

磁盘操作对 Visual Studio 的性能影响巨大。

尝试 HDD 基准测试。

答案2

如果有人(除了我之外)不知道如何执行此操作,我将发布使用 Visual Studio 定时运行“一轮工作”的 powershell 脚本。

  1. TFS 创建临时工作区
  2. TFS获取最新解决方案目录
  3. TFS 签出文件和撤消签出文件
  4. 重建解决方案(msbuild)
  5. 从指定的 dll (mstest) 运行单元测试
  6. 删除文件和工作区
  7. 将工作输出写入控制台
  8. 写下前 5 个步骤所花的秒数

欢呼吧,user30715

    ## 更改以适合您的环境 ##
    $BASEDIR="C:\temp\test\" # 临时文件的存储位置
    $TFS_SERVER="http://mytfs.srv:8080" # TFS 服务器
    $TFS_PROJECT_DIR="$/Path/To/My/Solution/Directory" # TFS 上解决方案目录的路径
    $SLNFILE="My.App.sln" # 解决方案文件的路径(相对于 TFS_PROJECT_DIR)
    $UNIT_TEST_DLL="Relative/Path/To/My.App.Test.dll" # 单元测试 dll 的路径(相对)
    ####################################

    $TSTAMP=获取日期-格式 yyyy-MM-dd_HH-mm-ss
    $TESTNAME="tfstest。" + $TSTAMP
    $WORKDIR=$BASEDIR + $TESTNAME
    $LOG=$BASEDIR+$TESTNAME+“.log”

    函数 Log()
    {
        $输入|写入主机
    }

    函数 DoWork()
    {
        write-host“从 TFS 获取源代码”
        mkdir $工作目录
        推送$WORKDIR
        tf 工作区 /new /noprompt /服务器:$TFS_SERVER $TESTNAME
        tf workfold /map /服务器:$TFS_SERVER /工作区:$TESTNAME $TFS_PROJECT_DIR $WORKDIR
        tf 获取 /递归 /force /noprompt $TFS_PROJECT_DIR
        write-host "检出文件 $SLNFILE"
        tf 结帐 $SLNFILE
        write-host “撤消结帐”
        tf undo /noprompt $SLNFILE
        write-host“开始构建过程”
        msbuild $SLNFILE /目标:重建
        写入主机“正在运行测试”
        mstest /测试容器:“$UNIT_TEST_DLL”
        弹出
    }

    函数 CleanUp()
    {
        write-host “清理混乱”
        推$BASEDIR
        tf workfold /取消映射/工作区:$TESTNAME $WORKDIR
        tf 工作区/删除/noprompt $TESTNAME
        rmdir -recurse -force $WORKDIR
        弹出
    }

    $VSTIME=(测量命令 { DoWork 2>&1 | Log }).TotalSeconds
    清理

    write-host“花费了 $VSTIME 秒完成工作”

相关内容