一、运行-->输入“perfmon.msc”.
二、在“系统监视器”图表区域里点击右键,然后点“添加计数器”.
三、在“添加计数器”窗口,“性能对象”选择Web Service,“从列表选择计数器”选中Current Connection,“从列表选择实例”选中你要统计的站点,最后点击“添加”按钮.
查看IIS连接数,还可以在“运行”-->输入“netstat -a”命令来查看,不过由于显示结果太多太杂,很难统计HTTP的连接总数,所以不推荐使用此命令来查看。
通过这个方法可以查看系统总线程数和当前可用线程数。ThreadPool.GetAvailableThreads( out availableWorker, out availableIO)
ThreadPool.GetMaxThreads(out maxWorker, out maxIO)
在队列请求数达到120左右时,通过此方法,得到maxWorker=1600,而availableWorker=1472
因为服务器是16核的,ASP.NET4.0默认每核可以使用100个线程,所以maxWorker是1600,1600-120=1480,大致相等。
不应该这么问,.NET是一个框架,用的是IIS发布,是IIS的撑不住压力.在服务里关闭iis admin service服务
找到windows\system32\inesrv\下的metabase.xml
相关说明设置如下:
AspSessionMax
作用:属性指定了 IIS 允许的最大并发会话数。当达到该限定时,如果客户端试图与 IIS 建立新连接,则客户端将接收到不正确信息(HTTP 500"服务器太忙")。
AspRequestQueueMax
作用:该属性指定了允许进入队列的并发 ASP 请求的最大数目。在队列占满时,任何试图请求 ASP 文件的客户端阅读器都将收到 HTTP 500"服务器太忙"的不正确。
留心:在 IIsWebService 级别上配置该属性可运用于所有级别上的所有进程内的和共用的进程外运用 程序项。进程内的和共用的进程外运用 程序忽略 IIsWebServer 级别及更低级别上的配置数据库配置。但是,如果该项是进程外的隔离运用 程序,则运用 IIsWebServer 级别或更低级别的配置。
改完后运行iis admin service.
如果好给我加分哦
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)