当我实现以下文档中标题为“利用集成管道”的部分时,w3wp.exe 进程的内存使用计数器会随着对经典 asp 测试页的请求而增加。我正在查看资源监视器中的提交、工作集、可共享和专用字节。我的测试页(见下文)每秒刷新一次。内存使用量会随着每个请求而增加。当我从 web.config 中删除模块部分(见下文)时,不会出现此问题。
这是设计使然吗?还是我应该进行其他配置更改来稳定内存消耗?
我的目标是结合使用传统 asp 实现表单身份验证。除了内存问题外,它运行良好。
这是将旧版应用程序迁移到 .net,请不要建议使用基本身份验证或放弃经典 asp 要求。我也问过这个问题这里。
谢谢!
该文件:
我的服务器/IIS 配置:
Win2k8 R2 SP 1,64 位,IIS 7.5,7.5 GB 内存全新 EC2 服务器:Windows_Server-2008-R2_SP1-English-64Bit-SQL_2008_R2_SP2_Express-2013.04.14 (ami-c082e3a9) m1.large 集成应用程序池,.NET v4.0,集成,使用应用程序池标识,内存限制设置为 0(无限制),仅限 64 位
Web.配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlAuthorization" />
<remove name="DefaultAuthentication" />
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" />
</modules>
</system.webServer>
<system.web>
<sessionState mode="Off" />
<compilation debug="false" />
</system.web>
</configuration>
测试页面:
<html>
<head>
<title>test</title>
<meta http-equiv="refresh" content="1">
</head>
<body><%=Now()%></body>
</html>
编辑:Windows 更新是最新的。
答案1
我相信我这里已经回答了我自己的问题。
我找到了这篇文章的作者,发现他后来创立了一家名为 LeanSentry 的公司,提供 Windows 监控/分析服务(我与该服务没有任何关联。)
我将服务连接到我的测试 EC2 服务器,发现由于缺少 favicon.ico 静态文件,并且身份验证模块在此过程中消耗内存。我将丢失的图标文件放在网站根文件夹中,经过大约 10 分钟的初始增长期后,内存使用量现在保持平稳。
如果您遇到同样的问题,我希望这会有所帮助!