如何使用Visual Studio 2017对ASP.NET IIS Web应用程序进行性能配置?

Csa*_*oth 8 asp.net profiling iis-8.5 visual-studio-2017

我有一个ASP.NET Web应用程序,在服务器上完全成熟的IIS 8.5中,某些操作的执行速度比在Visual Studio的IIS Express中快6倍.

如果我试图附加只是调试我正确看到w3wp.exe: 在此输入图像描述

我无法w3wp.exe在Profiler的Attach对话框中看到. 在此输入图像描述

我正在使用管理员权限运行VS 2017.这不是一个远程调试方案,完整的IIS和调试工具都在同一台服务器上(如果重要的话,则为Windows Server 2012 R2 Essentials).我正在使用Visual Studio 2017社区版.

如何在IIS中调试我的应用程序,以便我可以弄清楚为什么它会慢6倍?它让我感到震惊,因为通常它是另一种方式:调试和配置文件版本比发布版本慢得多.

我们的服务器BTW非常受内存限制.有两个开发人员同时工作,16GB物理内存(不幸的是不可升级)很容易上手.因此,我认为常规IIS在所有开发人员工具,SQL Server等内存挤压.这可能是一个缓慢的原因,但我不想猜测游戏,我想看一个配置文件会话.剖析VS的IIS Express非常容易BTW.如果我正确地看到它,Visual Studio 2015甚至不提供正在运行的进程的分析.


罗布非常简洁.首先,您需要以管理员模式启动Visual Studio.除了在开始时选择ASP.NET作为分析目标之外,一旦分析向导出现在第2页上,您必须再次选择"ASP.NET应用程序"而不是可用项目,否则Visual Studio只会启动服务器.在第3页(共4页)之后,我指定由本地(非开发人员)IIS服务器(http:// localhost:8000)运行的应用程序的Web URL .如果您还没有这样,则必须在管理员模式下重新启动VS. 然后,如果VS启动另一台服务器,性能输出就像:

Preparing web server for profiling.
Profiling started.
Launching web server with profiling.
Profiling process ID 872 (w3wp).
Starting data collection. The output file is C:\Users\Csaba\Documents\MyProjectSrc\http_localhost_8000__170924.vspx
Profiling process ID 8416 (iexplore).
Attaching to process 8416.
Profiler stopping.
Stopping data collection.
Merging collection data. Please wait...
Data is saved in file C:\Users\Csaba\Documents\MyProjectSrc\http_localhost_8000__170924.vspx
Profiling finished.
Run Code Online (Sandbox Code Playgroud)

数据收集后,我在事件日志中看到了一些虚假错误,表明集合不会成功.看起来它能够从第三方库收集数据.但我不能保证它是100%合法的,因为这次我没有彻底检查它.

Rob*_*los 3

选择分析目标时选择“ASP.NET”而不是“正在运行的进程...”。

  • 我几乎写了自己的答案,一句话非常简洁,还有其他几个选项需要考虑。无论如何,我将其添加到我的问题中。 (2认同)