项目反馈报出503错误,需要收集性能数据如下:

1、Windows性能监视器,该应用程序池进程的线程和处理队列

2、问题重现时的进程dump

这是请求到达IIS后遇到的第一个队列,HTTP.sys收到请求后会将请求放入对应的应用程序池队列,这样可以减少上下文的切换。需要注意的是应用程序池队列虽然是给w3wp进程用的,但它存在于http.sys的内存区(http.sys是一个运行于kernel-mode的设备驱动程序)。如果把http.sys比作一块网卡,那应用程序池队列相当于网卡的缓冲区。

w3wp从应用程序池队列中取出请求后,接下来就是从CLR线程池中捞出一个CLR线程处理请求,如果池中空无一线,就会将请求放在CLR线程池队列中。

检测两个队列的情况,可以使用Windows性能监视器

Http Service Request Queues\CurrentQueueSize

Http Service Request Queues\ArrivalRate

ASP.NET v4.0.30319\Requests Queued

ASP.NET v4.0.30319\Requests Current

应用程序池(Application Pool –> 高级设置  –> 队列长度)

  • General->Queue Length设置为65535(队列长度所支持的最大值,缺省值为1000)
  • Recycling->Regular Time Interval设置为0(取消应用程序池固定时间间隔的自动回收,缺省值为1740)
  • Process Model->Idle Time-out设置为0(取消应用程序池因为空闲超时而关闭,缺省值为20分钟)
<!-- 调大应用程序池的请求队列 -->
C:\Windows\System32\inetsrv>appcmd set apppool webform -queueLength:65535
<!-- 取消固定时间间隔的回收 -->
C:\Windows\System32\inetsrv>appcmd set apppool webform -recycling.periodicRestart.time:00:00:00
<!-- 设置指定时间点的回收 -->
C:\Windows\System32\inetsrv>appcmd set apppool webform /+recycling.periodicRestart.schedule.[value='04:15:00']
<!-- 取消空闲超时的进程关闭 -->
C:\Windows\System32\inetsrv>appcmd set apppool webform -processModel.idleTimeout:00:00:00
<!-- 开启所有回收事件的日志 -->
C:\Windows\System32\inetsrv>appcmd set apppool webform -recycling.logEventOnRecycle:"Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"

IIS  (C:\Windows\System32\inetsrv\config\applicationHost.config)

1、设置命令:

c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

2、设置结果:

<!-- IIS并发请求数 --> 
<serverRuntime appConcurrentRequestLimit="100000" />

.NET Framework & ASP.NET  (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config 和 WebAppRoot\web.config)

<!-- .NET Framework 进程模型 配置,最大工作线程(真实的线程数 = 此值 * 逻辑CPU数) --> 
<processModel enable="true" maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="50" minIoThreads="50" />
<!-- ASP.NET 请求处理队列 --> 
<httpRuntime appRequestQueueLimit="100000"/>

网络协议

1、将最大连接数设置为10万

reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxFieldLength /t REG_DWORD /d 32768
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxRequestBytes /t REG_DWORD /d 32768
 

2、修改TCP MaxUserPort限制(由默认5000改为65534)

reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v MaxUserPort /t REG_DWORD /d 65534

3、 net stop http  & net start http & iisreset  (干脆直接重启计算机)

压力测试报出503错误---ASP.NET支持大并发的相关配置的更多相关文章

  1. 推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求

    推荐一个比较好用的流媒体服务开源代码: ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求 https://gitee.com/xiahcu/Z ...

  2. HTTP 错误 500.19 请求的页面的相关配置数据无效 解决办法

    "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法   HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该 ...

  3. YxdIocp包含有支持大并发的TCP服务组件、HTTP服务组件、UDP服务组件、WebSocket服务组件

    Delphi Windows IOCP 通讯模型封装,基于DIOCP.YxdIocp包含有支持大并发的TCP服务组件.HTTP服务组件.UDP服务组件.WebSocket服务组件,和TCP.UDP等基 ...

  4. "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法

    HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 问题"详细错误信息模块 IIS Web Core通知 Begin ...

  5. win server2012r2上发布网站常见错误 "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法

    HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 问题“详细错误信息模块 IIS Web Core通知 BeginReque ...

  6. PHP的压力测试工具ab.exe 和mpm介绍提高并发数

    该工具是apache自带的,可以用它来测试网站的并发量有多大和某个页面的访问时间. 基本用法: 1.  进入CMD,转到apache的bin目录下. 2.  执行命令ab.exe  -n 访问的问次数 ...

  7. 支持https的压力测试工具

    支持https的压力测试工具 测试了linux下的几种压力测试工具,发现有些不支持https,先简单总结如下: 一.apache的ab工具 /home/webadm/bin/ab -c 50 -n 1 ...

  8. LoadRunner压力测试实例

    1 LoadRunner 概要介绍... 2 .项目背景介绍... 5 .使用LoadRunner进行负载/ 实施测试... 16 6.1 Memory相关... 22 6.2 Processor相关 ...

  9. .net的页面在大并发下出现503错误

    .net的页面在大并发下偶尔出现503错误 我们开发了一个回调页面,由一个工具负责调用,由于压力非常大,回调页面通过6台服务器负载均衡的: 最近业务系统又再次扩容,回调页面压力成倍增加,在高峰时间段偶 ...

随机推荐

  1. C语言文法 LL(1)文法

    程序->外部声明 | 程序 外部声明 程序->外部声明A' A'->外部声明A'|ε 外部声明->修饰符 变量名 形参 修饰符->void | int | char | ...

  2. 北大poj-1091

    跳蚤 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9591   Accepted: 2892 Description Z ...

  3. flask SQLAlchemy中一对多的关系实现

    SQLAlchemy是Python中比较优秀的orm框架,在SQLAlchemy中定义了多种数据库表的对应关系, 其中一对多是一种比较常见的关系.利用flask sqlalchemy实现一对多的关系如 ...

  4. GSM Hacking Part② :使用SDR捕获GSM网络数据并解密

    0×00 在文章第一部分 GSM Hacking Part① :使用SDR扫描嗅探GSM网络 搭建了嗅探GSM流量的环境,在第二部中,我们来讨论如何捕获发短信以及通话过程中的流量,从捕获到的数据中解密 ...

  5. MVC OF UEditor 图片上传- 额外参数 笔记

    最近正巧需要用到UEditor ,因为需求,.需要把上传的图片数据上传到阿里云的OSS与记录图片相关信息到MS SQL中 . 不得已只能翻UEditor的实现代码>_<痛苦. 备忘笔记: ...

  6. REVERSE-极客大挑战-geek2.apk

    嗯 一道apk的题目,题目本身并不是很难,但是我用的python却坑了我小半天...不过在纠错的过程中我也学到了不少东西 链接:http://pan.baidu.com/s/1i5LkJDr  密码: ...

  7. SIP模块版本错误问题:the sip module implements API v??? but XXX module requires API v???

    系统安装了python 2.7,继续安装PyQt4,于是依次下载sip.pyqt4源码进行安装.用以下代码测试: import PyQt4.QtGui 显示出错.错误信息:the sip module ...

  8. Excel顺序生成序号,不能有数字4出现

    A1填写:1 A2填写:=--SUBSTITUTE(A1+1,4,5) 然后下拉A3之后的单元格 需求应用场合:生成员工序号忌讳出现4的.

  9. 【转】JavaScript之web通信

    原文转自:http://cloudbbs.org/forum.php?mod=viewthread&tid=28773&page=1&extra=#pid180304 一.前言 ...

  10. 第三个Sprint总结

    工作进展:项目基本已经完成 工作状况: