多人同时在访问某个网站,服务器端工作者进程中,有多少个线程在执行响应用户的请求?同步并发时又是多少个线程在执行响应用户的请求?

解决方案 »

  1.   

    多人访问,会有多个http请求,这样服务器至少会有对应数量的线程来处理这些请求;处理请求的过程中,在执行服务器段代码的逻辑中可能又会有多线程执行的情况,这个就是和你写的业务逻辑相关的东西了。
      

  2.   

    一台服务器同时最多能承受10000个http请求。
      

  3.   

    在执行我服务器代码端的这个不管,因为这个是我自己控制线程的,我只是想知道,多个并发的http请求会有多个线程吗?
      

  4.   

    主要是aspnet_wp.exe 和w3wp.exe
    客户端的URL请求会在主进程中,不会生成多个线程
      

  5.   

    URL被WWW服务器截获(inetinfo.exe进程), 该进程首先判断页面后缀, 然后根据IIS中配置决定调用具体的扩展程序。
    如aspx就会调用aspnet_isapi.dll, 然后由aspnet_isapi.dll发送给w3wp.exe(iis 工作者进程,IIS6.0中叫做 w3wq.exe).
    接下来就是w3wp.exe调用.net类库进行具体处理:
    ISAPIRuntime-->HttpRuntime-->HttpApplicationFactory-->HttpApplication-->HttpModule--HttpHandlerFactory-->HttpHandler 
    参考
      

  6.   

    asp.net的http请求处理是这样的:当客户端向web服务器请求一个*.aspx的页面文件时,这个http请求会被inetinfo.exe进程截获(www服务),它判断文件后缀之后,把这个请求转交给ASPNET_ISAPI.DLL,而ASPNET_ISAPI.DLL则会通过一个Http PipeLine的管道,将这个http请求发送给ASPNET_WP.EXE进程,当这个HTTP请求进入ASPNET_WP.EXE进程之后,asp.net framework就会通过HttpRuntime来处理这个Http请求,处理完毕后将结果返回给客户端。II5中进程是aspnet_wp.exe
    IIS6中进程是exew3wp.exe 一个网站发的所有http请求都在一个进程中,这个进程中存在多应用程序域,每个应用程序域里又存在多个线程,这些线程在clr中被管理(这里线程只是线程概念,并不是操作系统里的线程)
      

  7.   

    获取当前网站所有线程数量。System.Diagnostics.Process.GetCurrentProcess().Threads.Count.ToString();
      

  8.   

    有两个进程,IIS的和asp.net运行环境的,IIS进程接收客户端的请求然后交给asp.net运行环境的进程处理。IIS的线程数是可以设置的,asp.Net运行环境的是不能控制的,但你写的程序会有影响,还和iis的版本有关系,很复杂,建议你看看IIS 7的介绍。
      

  9.   


    我不是想知道一个进程中多个少应用程序域,多少个线程,代码控件的那是代码的事,我是想知道IIS自己的线程,在处理并发的时候,是同步,还是异步??