六, 并发性
常规> 队列长度
HTTP.sys 将针对应用程序池排队的最大请求数. 默认值 1000, 最大值 65535.
如果设置太大则会消耗大量的系统资源 , 而设置太小会导致客户端访问时频繁出现 "503 服务不可用" 响应.
优化设置: 可先改为 5000(设置为预期最多并发用户数的 1.5 倍, 官方参考
使用 Windows 性能监控(性能监控: cmd->perfmon.msc), 添加 "HTTP Service Request Queues/CurrentQueueSize" 指标, 观察某个应用程序池当前队列中请求的个数.
启用 web 园(Web Garden), 进程模型> 最大工作进程数
在 Web 园中你可以配置此应用程序池所使用的最大工作进程数, 默认为 1, 最大可以设置为 4000000; 配置使用多个工作进程可以提高该应用程序池处理请求的性能, 但是在设置为使用多个工作进程之前, 请考虑以下两点:
1, 每一个工作进程都会消耗系统资源和 CPU 占用率; 太多的工作进程会导致系统资源和 CPU 利用率的急剧消耗;
2, 每一个工作进程都具有自己的状态数据, 如果 Web 应用程序依赖于工作进程保存状态数据, 那么可能不支持使用多个工作进程.
这样设置, 增加了处理进程数, 相当于集群, 避免大量请求处于排队状态
参考:
IIS 并发优化
文章介绍: 使用 Windows 性能监控: cmd->perfmon.msc. 监控 IIS 应用运行情况, 再根据需要进行 iis 参数设置
ASP.NET 4.0 正在处理中的请求数量.
调整支持并发请求的数量
默认支持并发请求数量为: 5000
超出此并发数, 会报异常
HTTP Error 503.2 - Service Unavailable
The serverRuntime@appConcurrentRequestLimit setting is being exceeded.
参考:
IIS 并发请求设置如何设置?
站点最大并发连接数
右键站点> 高级设置> 限制> 最大并发连接数
设置站点线程数: minWorkerThreads,maxWorkerThreads,maxIoThreads
(感谢园友 @runliuv 提供的新姿势)
minWorkerThreads 默认 1,maxWorkerThreads 默认 20,maxIoThreads 默认 20
1, 配置文件: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
2, 修改参数:
其中: minWorkerThreads = maxWorkerThreads / 2
参数具体值如何设置, 还需要各自对站点进行压力测试中调整
参考:
IIS7.5 优化 -- 提高线程数来适应高并发
processModel 元素(ASP.NET 设置架构)
Improving ASP.NET Performance (微软文档中给出了推荐值, 如下图)
<喎"/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxoMiA+xt+hoiCwssir0NQKCgoKCgoKCgo8cCBjbGFzcz0="MsoNormal" align="left">为不同工作进程指定应用程序池(工作进程隔离模式)
一台服务器上有非常多的 Web 站点. 如何才能做到各个站点之间相互独立, 不因某些 Web 站点出现故障而影响其他站点呢?-- 为不同工作进程指定应用程序池是个很好的解决办法.
进程模型> 标识, 使用 ApplicationPoolIdentity 虚拟账户
ApplicationPoolIdentity - 默认情况下, 选择 "应用程序池标识" 帐户. 启动应用程序池时动态创建 "应用程序池标识" 帐户, 因此, 此帐户对于您的应用程序来说是最安全的.(这样, 每个应用程序池都有各自的账户, 就避免了木马上传到其中一个池下站点, 会对另一个池的文件夹有操作权限)
参考:
IIS7.5 中神秘的 ApplicationPoolIdentity
启用快速失败保护
如果 Web 应用程序代码编写有问题, 它可能会导致工作进程持续出现问题. 默认情况下应用程序池配置为启用快速失败保护, 当工作进程在配置的时间段 (默认为 5 分钟) 内发生的失败次数超过了配置的值(默认为 5 次), 则禁用此应用程序池.
===========================================================
over, 谢谢查阅, 觉得文章对你有收获, 请多帮推荐. 欢迎提供更好的资料信息.
来源: https://www.2cto.com/kf/201905/810246.html