dotMemory 2025.2 Help

在 IIS 服务器上分析 Web 应用程序

通常,当 Web 应用程序已经在服务器上运行时,需要确定其性能问题。 下表总结了分析应用程序的所有可能选项:

优点

功能

本地分析

  • 配置/使用简单:通过 dotMemory 图形界面进行分析

  • dotMemory 必须安装并运行在服务器上,但由于安全限制、缺少图形界面等原因,这可能无法实现

通过命令行分析器进行分析

  • 无需网络通信

  • 能够创建多个预定义的分析配置并按需运行

  • 命令行分析器必须复制到服务器并在服务器上运行

  • 生成的快照必须手动从服务器复制到安装了 dotMemory 的计算机上

内存转储

  • 无需在服务器上安装任何内容

  • 没有分析开销

  • 内存转储包含的数据少于 dotMemory 快照

本地分析

本地分析

通常,当需要分析托管在您(开发者)机器上或某些不施加任何安全/性能限制的测试环境中的应用程序时,会使用本地分析。

在 IIS 服务器上托管的 Web 应用程序进行本地分析

  1. 在服务器上安装 dotMemory。

  2. 将 dotMemory 作为独立应用程序运行。 dotMemory 主窗口将打开。

  3. 添加运行配置 - 该配置告诉 dotMemory 如何运行被分析的应用程序:

    1. 选择您想要分析的内容新进程运行 下,点击 添加运行配置添加运行配置

    2. 新建运行配置 向导中,选择 IIS 并点击 下一步

    3. 打开 URL 中,指定被分析应用程序的 URL。 如果您不这样做,dotMemory 将开始分析它能够找到的第一个正在运行的应用程序池。

    4. 可选地,在 在浏览器中 中,指定 dotMemory 应该使用的浏览器以打开 URL

    5. 可选地,在 设置环境变量 中,指定所需的环境变量。 每个变量必须在新行中指定。

    6. 点击 保存

  4. 确保在 新进程运行 列表中选择了创建的运行配置。

  5. 选择您要如何分析 下,指定分析选项:

  6. 点击 启动。 这将启动分析会话。

  7. 在您的应用程序中执行特定的工作流(如果您想检查潜在的内存问题)或重现特定的内存问题。 使用 获取快照 按钮收集内存快照。 了解更多关于如何控制分析会话的信息

  8. 在收集数据后,关闭被分析的应用程序或使用 分离 按钮分离分析器。

  9. 分析收集的快照

通过命令行分析器进行分析

使用控制台工具进行分析

如果您需要自动化分析,例如定期分析您的应用程序,命令行分析器是最佳选择。 另一种可能的情况是,您无法访问服务器,但其他人可以访问,因此您可以向他们提供分析工具和批处理文件。

它是如何工作的? 简而言之,您将命令行分析器复制到服务器,并在分析下运行应用程序(应用程序池将重新启动)或将工具附加到正在运行的应用程序池 w3wp.exe 。 然后,您可以通过向标准输入发送特殊命令来获取快照。

使用命令行分析器分析 IIS 服务器上的 Web 应用程序

  1. 下载包含 dotMemory.exe 工具的 zip 压缩包 ,并将其复制/解压到服务器。

  2. 现在,您有两种获取内存快照的选项:

    1. dotMemory.exe 附加到正在运行的应用程序池并立即获取快照:

      dotMemory.exe get-snapshot 1234 --save-to-dir=C:\Snapshots

      其中 1234 是对应 w3wp.exe 进程的进程 ID。
      提示 :要获取 ID,请在 IIS 管理器 中打开所需的服务器。 在 工作进程 页面上,您将找到正在运行的工作进程及其 ID 的列表。

    2. 在分析下运行应用程序池(如果池已经在运行,它将被重启):

      dotMemory.exe start-iis --trigger-timer=30s --open-url=localhost/myapp --use-browser=Chrome

      其中 --open-url=localhost/myapp 是您的应用程序的 URL。 如果您选择运行应用程序池,则无法立即获取快照。 相反,您应该:

      • 按条件获取快照:例如,当指定 --trigger-timer=30s 时,每 30 秒获取一次快照

      • 通过向标准输入发送命令获取快照: ##dotMemory["get-snapshot"]

      • 在进程退出时获取快照(例如,在 IIS 管理器中的 回收 应用程序池)

    有关使用 dotMemory 命令行分析器的更多信息,请参阅 使用 dotMemory 命令行分析器

  3. 将生成的快照复制到安装了 dotMemory 的计算机,并使用 分析快照

内存转储

转储

如果由于某种原因,完全无法在服务器上复制和运行第三方工具怎么办。 那么,您的最后选择是内存转储。 可以使用多种工具获取内存转储,其中最常用的两个是任务管理器(随操作系统提供)和 Process Explorer。

使用内存转储分析 IIS 服务器上的 Web 应用程序

  1. 在服务器上,使用任务管理器或 Process Explorer 工具获取内存转储。 使用任务管理器为 32 位应用程序创建转储时,请确保使用可以在 C:\Windows\SysWOW64\taskmgr.exe 中找到的 32 位版本工具。

    转储
  2. 将生成的快照复制到安装了 dotMemory 的计算机,并使用 导入转储 命令打开它。

  3. 分析快照

转储
最后修改日期: 2025年 9月 27日