如何使用Visual Studio 2017配置文件ASP.NET IIS Web应用程序?
我有一个ASP.NET Web应用程序,并且某些操作在服务器上完全成熟的IIS 8.5中比在Visual Studio的IIS Express中执行速度慢6倍。如何使用Visual Studio 2017配置文件ASP.NET IIS Web应用程序?
我使用管理员权限运行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甚至没有提供正在运行的进程的分析。
Rob很简洁。首先,您需要以管理员模式启动Visual Studio。除了在开始时选择ASP.NET作为Analysis Target之外,一旦Profiling Wizard出现在第2页上,您必须再次选择“An ASP.NET应用程序”而不是您的可用项目,否则Visual Studio只会启动服务器。之后,我指定由本地(非开发人员)IIS服务器运行的应用程序的网址(http://localhost:8000)。如果您还没有这样做,您必须在管理员模式下重新启动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.
数据收集后,我看到了一些虚假的错误诠释,他的事件日志,说明该集合将不会成功。看起来它能够从第三方库收集数据。但我不能保证它是100%合法的,因为我这次没有彻底检查它。
选择分析目标时选择“ASP.NET”而不是“Running Process ...”。
我在四月肯定会尝试这种做法,但当我有时间时我会再试一次 –
我几乎写了自己的答案,一句话很简洁,还有其他几个选项需要考虑。无论如何,我把它添加到我的问题。 –