高并发下,调整IIS相关的设置,以提高服务器并发量
1.修改 IIS 队列长度
Internet Information Services (IIS) 限制了在任何给定时间可在队列中等待的应用程序池请求的最大数量。如果达到此限制,则所有新请求都将被拒绝,而且用户将收到错误消息“503 – 服务不可用”。默认情况下,IIS 将队列长度设置为 1,000 个请求。该默认值可能太低,因为如果队列长度为 1,000,Communicator Web Access(2007 R2 发行版)将只能处理大约 650 个并发用户,此后将开始拒绝新用户。
为帮助确保 Communicator Web Access 服务的可用性,建议将 IIS 队列长度值设置为预期最多用户数的 1.5 倍。例如,假定您预期在给定时间最多有 2,000 名用户登录到 Communicator Web Access。在此情况下,应将队列长度设置为 3,000(即 2,000 名用户的 1.5 倍)。
在 IIS 7.0 中更改队列长度设置
单击 “开始”,指向 “管理工具”,然后单击 “Internet 信息服务(IIS)管理器”。
在 IIS 管理器中,展开 IIS 服务器的名称,然后单击 “应用程序池”。
在 “应用程序池” 窗格中,右键单击 Communicator Web Access 应用程序池,然后单击 “高级设置”。
在 “高级设置” 对话框的 “常规” 下,单击 “队列长度”,然后键入 Communicator Web Access 部署中的最多并发用户数的 1.5 倍的值。
单击 “确定”。
在 IIS 6.0 中更改队列长度设置
单击 “开始”,单击 “所有程序”,指向 “管理工具”,然后单击 “Internet 信息服务(IIS)管理器”。
在 IIS 管理器中,展开 “站点” 节点,右键单击 Communicator Web Access 应用程序池,然后单击 “属性”。
在 “属性” 对话框中,单击 “性能” 选项卡。
在 “请求队列限制” 下,单击 “核心请求队列限制为(请求次数)”,然后键入 Communicator Web Access 部署中的最多并发用户数的 1.5 倍的值。
单击 “确定”。
监测方法:Windows性能监视器中监测Http Service Request Queues\ArriveRate。
2.修改 ASP.NET 请求队列的限制
查询 ASP.NET 时,服务的请求将通过 Internet Information Services (IIS) 和 ASP.NET 工作进程之间的管道来传递,并且在该管道内排队。(ASP.NET 在自己的进程中运行 - 这一点不同于传统的 ASP,传统的 ASP 与 IIS 服务在同一个进程中运行。)默认情况下,此队列最多可以包含 5,000 个请求。如果请求超过 5,000 个,则用户将收到“503 - 服务不可用”错误,并被拒绝服务。
尽管默认值对于相对数目较少的 Communicator Web Access(2007 R2 发行版)用户来说足够了,但随着用户数接近 4,500,就很容易超过请求队列的限制。由于这个原因,您可能需要将请求队列的限制增加到 15,000。如果将请求队列的限制设置为 15,000,就能够提供足以处理所有客户端请求的大队列了。此外,如果服务器在 Windows Server 2008 上运行,则您需要配置 appConcurrentRequestLimit 设置以支持 5,000 以上的连接。
修改 ASP.NET 请求队列的限制
单击“开始”,然后单击“运行”****。
在“运行”对话框中,键入 notepad %systemroot%\Microsoft.Net\Framework64\v2.0.50727\CONFIG\machine.config,然后单击“确定”。
找到如下所示的 processModel 元素:
<processModel autoConfig="true" />
将 processModel 元素替换为以下值:
<processModel enable="true" requestQueueLimit="15000" />
保存并关闭 Machine.config 文件。
对于 Windows Server 2008,在“运行”****对话框中,键入 appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:<#of users * 1.5>。
3.调整应用程序池最大工作进程数
(适用于无状态的应用,如webapi。)
高并发下,调整IIS相关的设置,以提高服务器并发量的更多相关文章
- 高并发下的 Nginx 优化与负载均衡
高并发下的 Nginx 优化 英文原文:Optimizing Nginx for High Traffic Loads 过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. ...
- 高并发下的Nginx优化
高并发下的Nginx优化 2014-08-08 13:30 mood Nginx 过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. 很多Nginx新用户是从Apach ...
- UILabel的相关属性设置
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard ...
- MySQL 连接数相关参数设置
当我们的数据库服务器遇到如下的错误:ERROR: Too many connections 一种可能性就是我们的压力确实很大,需要增加服务器硬件资源或者增加数据库服务器.但是大多数情况下是我们的连接数 ...
- iOS开发笔记--UILabel的相关属性设置
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard ...
- springboot~高并发下耗时操作的实现
高并发下的耗时操作 高并发下,就是请求在一个时间点比较多时,很多写的请求打过来时,你的服务器承受很大的压力,当你的一个请求处理时间长时,这些请求将会把你的服务器线程耗尽,即你的主线程池里的线程将不会再 ...
- 高并发下redis
1.================================================================================================== ...
- OpenSIPS 2.4.2 高并发下,日志丢失怎么办
问题年年有,今年特别多.最近公司对呼叫中心平台做了大幅度重构,基于OpenSIPS实现的会话管理服务,在高并发压测过程中,发现OpenSIPS的日志居然出现丢失的情况,简直让我食不知味,困惑不已. ...
- Linux Limit相关内容设置大全(值得收藏)
目录 一. /etc/security/limits.conf 详解 /etc/security/limits.conf 配置解析 /etc/security/limits.d/目录 二. ulimi ...
随机推荐
- Python学习3——Python的简单推导
列表推导是一种从其他列表创建列表的方式,类似于数学中的集合推导,列表推导的工作原理非常简单,类似于for循环.(以下代码均在IDLE实现) 最简单的列表推导: >>>[x*x for ...
- C#3.0新增功能09 LINQ 标准查询运算符 03 按执行方式的分类
连载目录 [已更新最新开发文章,点击查看详细] 标准查询运算符方法的 LINQ to Objects 实现主要通过两种方法之一执行:立即执行和延迟执行.使用延迟执行的查询运算符可以进一步分为两种 ...
- CentOS 7.2配置LAMP环境——yum版
环境:CentOS 7.2 采用putty连接 方法:采用yum安装方法 目的:搭建Apache+MySQL+PHP环境 1.安装Apache yum install httpd //默认情况下,选择 ...
- Java EE.Servlet.会话管理
一次会话是从客户打开浏览器开始到关闭浏览器结束.记录会话信息的技术称为会话跟踪.常见的会话跟踪技术有Cookie.URL重写和隐藏表单域. 1.Cookie Cookie是一小块可以嵌入到HTTP请求 ...
- 【数据库】postgresql数据库创建自增序列id的注意事项
1.创建一张表 CREATE TABLE "public"."tt" ( "name" varchar(128), "status ...
- 第一篇博客 安装open live writer
第一篇博客安装open live writer http://openlivewriter.org/ 有的人可能会打不开,所以我准备了一个百度云的链接地址 链接:https://pan.baidu.c ...
- 172. 阶乘后的零 Java解法
https://leetcode-cn.com/problems/factorial-trailing-zeroes/ 172. 阶乘后的零 这题要完成其实要知道一个很巧妙的思想,就是阶乘里面,后面的 ...
- (读论文)推荐系统之ctr预估-NFM模型解析
本系列的第六篇,一起读论文~ 本人才疏学浅,不足之处欢迎大家指出和交流. 今天要分享的是另一个Deep模型NFM(串行结构).NFM也是用FM+DNN来对问题建模的,相比于之前提到的Wide& ...
- http.client.ResponseNotReady: Request-sent
最近学习python写接口测试,使用的是connection.request 发现在测试一个发送报告接口时候,同一个接口,同样的脚本,只是一个参数传不同值,总提示:http.client.Respon ...
- C语言编程入门之--第四章C语言基本数据类型
导读:C语言程序中经常涉及一些数学计算,所以要熟悉其基本的数据类型.数据类型学习起来比较枯燥,不过结合之前的内存概念,以及本节的字节概念,相信数据类型也就不难理解了.本章从二进制的基本概念开始,然 ...