English 中文(简体)
非常奇怪的IIS6 asp.net网站行为
原标题:Very weird IIS6 asp.net website behaviour

我在我的网站上遇到了一个奇怪的问题。这是一个asp.net(.net 3.5)网站,托管在一个专用服务器上的IIS6。

最近我遇到了奇怪的问题,网站会卡住,除非我去iis并重启应用程序池或整个IIS,但最奇怪的是,如果我去服务器的远程桌面并尝试本地访问它,则可以正常工作。

我读了几个有关因内存泄漏和未关闭的SQL连接而导致死锁和挂起的线程,但为什么从本地仍然可以工作?

如果代码有问题,为什么本地仍然可以运行?

如果主机端存在一些问题(如防火墙问题),那么为什么iisreset会有帮助?

任何想法都将不胜感激。谢谢!

问题回答

We ve just run into this problem, and we have a solution. IIS has two thread pools to handle requests. One thread pool is used for external requests. Another pool is used for local requests. Our problem was caused by a deadlock in backend code. Once the deadlock occurred, all external requests were queued but not serviced because all of the servicing threads were in use. Opening the website from the web server uses the other thread pool, so the requests are serviced. We were absolutley positive it was a network issue, but WinDbg proved otherwise. See here for more information: MSDN blog entry about IIS and threads

minLocalRequestFreeThreads 的中文翻译是最小本地请求空闲线程数。

此外,搜索 minFreeThreads 以查看非本地请求线程池。

祝好运!

你确定网站对所有的外部用户都挂了,而不仅仅是单个用户吗?

IIS每个用户同时只能运行一页,因此如果一个请求被陷入无限循环,那个单独的用户会感觉到服务器完全停止,因为除非那一页超时,否则没有任何页面可用。服务器对其他用户仍然像往常一样工作。

你可以通过使用不同的浏览器或启动同一浏览器的新实例(Internet Explorer可以,Firefox不可以)来测试。

Hmm 不足以真正给你一个答案,但如果你从服务器在当地作出反应,我将首先看一下你的防火墙。 你们是否还有另一个服务器,像一个服务器? 从中推论,因为这将显示问题所在。

我的想法是负载均衡器配置不良。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签