问题标签 [w3wp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2438 浏览

asp.net - w3wp上的高CPU

我已经将一个 .NET 网站部署到 2008 (IIS7) 服务器上,并且该网站似乎可以运行多达 30-50 个并发用户。在对其进行负载测试时,该站点在 100 个并发用户之后的某个时间会停止运行。页面加载从 1.5 秒到 90+

w3wp 达到 100% 并保持这种状态,直到我停止负载测试。另一方面,SQL 闲置率约为 2-3%。

我使用调试诊断进行了跟踪,报告指出其中一个线程占用了 11.358 cpu 时间,而最接近的亚军则为 0.687。很高兴我找到了罪魁祸首,但是我不知道如何处理我得到的信息。这是报告输出。

线程 19 - 系统 ID 4016 入口点 0x00000000 创建时间 2009 年 7 月 8 日晚上 9:28:53 在用户模式下花费的时间
0 天 00:00:11.187 在内核模式下花费的时间 0 天 00:00:00.171

函数源 ntdll!KiFastSystemCallRet
ntdll!NtWaitForSingleObject+c
kernel32!WaitForSingleObjectEx+be
mscorwks!PEImage::LoadImage+1af
mscorwks!CLREvent::WaitEx+117
mscorwks!CLREvent::Wait+17
mscorwks!ThreadpoolMgr::SafeWait+73
mscorwks!ThreadpoolMgr ::WorkerThreadStart+11c mscorwks!Thread::intermediateThreadProc+49 kernel32!BaseThreadInitThunk+e ntdll!__RtlUserThreadStart+23

ntdll!_RtlUserThreadStart+1b

任何帮助表示赞赏!

0 投票
1 回答
4145 浏览

asp.net - 如何使用 asp.net C# 重新启动 w3wp.exe 进程?

如何使用 asp.net C# 重新启动 w3wp.exe 进程?例如,我想在 webform 页面中单击一个按钮来重新启动服务器中的 w3wp.exe 进程。

0 投票
3 回答
1036 浏览

.net - ASP.Net 网站收到大量请求,导致 IIS 工作进程崩溃

我在两个服务集群上运行一个相当大容量的 asp.net 网站。ASP.Net Apps 性能对象记录的典型负载约为每台服务器每秒 20 个请求。

在一天中的定期时间,性能计数器记录 2,000 到 9,000 个请求/秒的任何地方。工作进程此时死亡并报告“.Net Runtime 2.0 Error Reporting”应用程序日志,其中列出了“Faulting application w3wp.exe”。

奇怪的是,此时 IIS 没有记录任何突发的请求。到目前为止,Web 日志记录了正常的流量速度,并且没有显示数千个请求的突发。

该服务器在 Windows 2003 64 位服务器上运行 IIS6。它是具有 6GB RAM 的四核至强。

负载均衡集群中的两台服务器中只有一台记录了这个请求量。另一台服务器从不显示超过 20 次左右的平均请求/秒。

关于为什么性能日志会显示如此大量未在任何地方记录的请求的任何想法?我无法确定是什么导致了这种负载,我想知道这是某种应用程序错误还是真的是流量突发。

关于如何追查罪魁祸首的任何建议?

0 投票
2 回答
4748 浏览

asp.net - ASP.NET:空载时 CPU 使用率高

几周以来,我面临着一个巨大的问题。我有一个托管在 IIS7 (W2008 SP1) 下的 asp.net 应用程序,每隔几个小时它就会开始消耗近 50% 的 CPU,而可能没有用户连接。这是可以理解的,因为我们正在使用 Quartz.net 进行一些应用程序回收,但我们还无法重现该问题。

这是在 CPU 较高时使用 JetBrains dotTrace 3.1 进行的跟踪:http: //mycenter.info/tmp/DotTraceSnapshot.zip

通常浪费 CPU 的进程是 w3wp.exe,但最近几天 sqlserver (2008) 和 memcached (1.2.1,周一更新到 1.2.4 beta) 也在消耗 CPU。奇怪的是,有时 memcached 开始消耗 100% 并且它的统计数据显示它很安静,但是在发出请求时它工作正常。

这是 w3wp 的崩溃转储(或堆栈跟踪转储),使用 WinDbg:(基于本指南:http: //blogs.technet.com/marcelofartura/archive/2006/09/15/troubleshooting-iis-100-cpu -issues-step-by-step-intermediary.aspx )

提前感谢任何提示!

更新:

这是挂起线程的托管堆栈:我认为它看起来像 memcached 提供程序,但还不确定我应该做什么。

找到的解决方案:

这是由于在 Windows 2008 上运行时用于 Win32 的 memcached 1.2.1 中的一个错误。我更新到 v1.2.6 并且一切正常。我想我看到的是 w3wp 进程,因为我用来连接到 memcached 的库有一个正在挂起的回收进程,即使 memcached 仍在响应。

找到解决方案 2:

如果第一个解决方案不起作用,请阅读这篇文章。我猜 memcached 解决方案只是隐藏了真正的问题,这是 SmtpClient 中的一个错误。

0 投票
1 回答
2484 浏览

w3wp - AppPool 和工作进程

一个简单的问题:

AppPool 和工作进程 w3wp 一样吗?

如果 w3wp.exe 在“空闲超时”后关闭是这种情况,为什么 AppPool 显示为仍在 IIS 管理器上运行?

另外,当 w3wp.exe 在“空闲超时”后关闭时,它不会自动重新启动吗?还是只有当流量再次进入网站时才会重新启动?

任何帮助表示赞赏。

0 投票
3 回答
872 浏览

memory - 哪些请求会导致 w3wp 进程显着增长?

在生产环境中,如何发现哪些 Asp.Net http 请求(无论是 aspx、asmx 还是 custom)在 w3wp.exe 进程中造成了最大的内存压力?我的意思不是这里的内存泄漏。这是一个很好的健康应用程序,可以很好地处理它的所有对象。微软的世代 GC 运行良好。然而,一些请求会导致 w3wp 进程显着增加其内存占用,但仅在请求期间。

这只是 SAAS 应用程序生产环境的成本效益和可扩展性的问题,以便定期向开发部门报告他们最占用内存的“页面”,以将(内存)压力返回到它所属的位置, 可以这么说。

似乎没有类似的东西:
HttpContext.Request.PeakPrivateBytes 或 .CurrentPrivateBytes

Session.PeakPrivateBytes

0 投票
2 回答
1190 浏览

delphi - 是否可以在受限用户帐户中运行 IIS 的 w3wp.exe?

我正在使用 Windows 7 和 IIS 7。我正在编写 Delphi DataSnap ISAPI。我希望跟踪我的 ISAPI dll 中出现的错误。

我了解到使用“w3wp.exe -debug”可能有助于在 Delphi IDE 中调试 ISAPI dll。但是,我希望在受限用户帐户而不是管理员组中调试我的 ISAPI。

在运行 w3wp.exe 之前,我已经设置了对文件夹“C:\Windows\System32\inetsrv\config”的访问权限。但是,我仍然遇到启动 w3wp.exe 的问题。这是事件日志:

在运行 w3wp 之前,我已经停止了我的 IIS 服务。

有任何想法吗?

0 投票
6 回答
12231 浏览

asp.net - 缓慢的 ASP.NET 应用程序加载时间 - 我可以跟踪/跟踪/计时整个加载周期吗?

我目前正在处理的 ASP.NET Web 应用程序项目随着时间的推移而变得越来越慢,以重新加载(在 IIS 或 .NET 开发服务器中)。目前需要:

  • 通过 F5 调试加载 1:28 分钟
  • 41 秒在浏览器中刷新,构建后(不是重建)

这台机器相当快 - 一个 Core 2 Quad 2.40ghz,8 gig o' RAM,在 HyperV 下运行开发机器,分配给 dev VM 的 2 gig o' RAM。

有没有办法跟踪/报告初始负载的整个周期?如果我能看到启动基本 IIS 工作进程、加载 DLL、运行实际的 .NET 代码需要多长时间,那就太好了。

我知道我可以在代码上使用分析器——它没有出现任何超慢的数据库连接建立时间,但我想在处理实际页面之前对这些东西的性能有一些了解。我可以看到 CPU 监视器在此过程中达到了 100%,RAM 使用率略有上升 - 但我正在寻找更好的洞察力,希望能稍微调整一下。

虽然我在项目开始时(4 个月前)没有进行任何测量,但我完全确定重新加载相对轻而易举。

非常感谢任何帮助,程序员只能在构建时喝这么多咖啡。

更新:

JetBrain 的dotTrace非常好(在本例中),谢谢。它具有启动 Web 项目的完美界面,并很快强调大部分时间都在Application_Start()中(在Global.asax中)。

其他选项不会选择这个,因为:

  • Trace选项仅从 PreInit 开始,缺少 Application_Start() 调用。

  • 秒表调用将要求我知道在哪里看,或者恢复到 printf 式调试的美好时光......

  • nprof想要定位一个 .exe,它在尝试附加到新的 w3wp.exe 实例时会错过目标区域......

0 投票
2 回答
1271 浏览

asp.net-mvc - 工作进程是否在 AppPool 中共享其输出缓存?

概括:

我在 IIS 中有一个名为“Website”的 ASP.NET MVC 网站,使用名为“WebsiteAppPool”的 AppPool。WebsiteAppPool 被配置为允许最多 4 个工作进程,实际上创建了一个“Web Garden”。该网站还通过 web.config 配置为使用 CacheProfiles 启用 OutputCaching。

我的问题是——

AppPool 的工作进程会共享输出缓存还是每个工作进程都有输出缓存,因此在 AppPool 中创建 4 个缓存副本。

笔记:

我主要担心的是,这将揭穿缓存输出的好处,我最好让一个 WorkerProcess 提供缓存输出而不是 4.

0 投票
1 回答
6732 浏览

c# - 调试错误——附加到 w3wp.exe 的错误

我正在使用 VSTS 2008 + .Net 3.5 + C#。我为 IIS 7.0 开发了一个自定义表单身份验证模块,并附加到 w3wp.exe 以调试该模块。在附加过程中(我只是选择工具->附加到进程,在我正在调试的计算机上没有执行进一步的操作——我只是等待附加完成),我遇到了以下错误,任何想法是什么问题?

正在调试的 Web 服务器进程已被 Internet 信息服务 (IIS) 终止。这可以通过在 IIS 中配置应用程序池 ping 设置来避免。有关详细信息,请参阅帮助。