IIS或apache并发连接数是怎么算的

 我来答
百度网友bee33766c1
2018-05-16 · TA获得超过2770个赞
知道大有可为答主
回答量:3071
采纳率:54%
帮助的人:609万
展开全部
  • 计算模型: 
    每台服务器每秒处理请求的数量=((80%*总PV量)/(24小时*60分*60秒*40%)) / 服务器数量 。
    其中关键的参数是80%、40%。表示一天中有80%的请求发生在一天的40%的时间内。24小时的40%是9.6小时,有80%的请求发生一天的9.6个小时当中(很适合互联网的应用,白天请求多,晚上请求少)。 简单计算的结果:
    ((80%*500万)/(24小时*60分*60秒*40%))/1 = 115.7个请求/秒 
    ((80%*100万)/(24小时*60分*60秒*40%))/1 = 23.1个请求/秒

  • 现在我们在做压力测试时,就有了标准,如果你的服务器一秒能处理115.7个请求,就可以承受500万PV/每天。如果你的服务器一秒能处理23.1个请求,就可以承受100万PV/每天

  • 有人说以上条件我都满足了,但实际性能还是达不到目标。这时请注意你对外的网络的带宽,在国内服务器便宜但带宽很贵,很可能你在机房是与大家共享一条100M的光纤,实际每个人可分到2M左右带宽。再好一点5M,再好一点双线机房10M独享,这已经很贵了(北京价格)。

  • 一天总流量:每个页面20k字节*100万个页面/1024=19531M字节=19G字节,

  • 19531M/9.6小时=2034M/小时=578K字节/s   如果请求是均匀分布的,需要5M(640K字节)带宽(5Mb=640KB
    注意大小写,b是位,B是字节,差了8倍),但所有请求不可能是均匀分布的,当有高峰时5M带宽一定不够,X2倍就是10M带宽。10M带宽基本可以满足要求。

  • 以上是假设每个页面20k字节,基本不包含图片,要是包含图片就更大了,10M带宽也不能满足要求了。

  • 具体设置:

  • 第一步:启用MPM模块配置文件

    我们需要在httpd.conf文件中启用该配置文件,如下所示:

    # Server-pool management (MPM
    specific)Include conf/extra/httpd-mpm.conf (去掉该行前面的注释符号"#")

  • 第二步:启用MPM模块后找到配置文件进行编辑。

    在Apace安装c:\ chaodiquan.com \conf\extra目录中有一个名为httpd-mpm.conf的配置文件。该文件主要用于进行MPM模块的相关配置。不过,在默认情况下,Apache的MPM模块配置文件并没有启用。

第三步:此时,我们就需要根据当前Apache服务器所使用的MPM模块,来修改对应节点下的参数配置。首先,我们来看看mpm_winnt模块下的默认配置:

#由于mpm_winnt模块只会创建1个子进程,因此这里对单个子进程的参数设置就相当于对整个Apache的参数设置。
ThreadsPerChild    150 #推荐设置:小型网站=1000 中型网站=1000~2000
大型网站=2000~3500MaxRequestsPerChild   0 #推荐设置:小=10000 中或大=20000~100000

对应的配置参数作用如下:ThreadsPerChild

每个子进程的最大并发线程数。

MaxRequestsPerChild

每个子进程允许处理的请求总数。如果累计处理的请求数超过该值,该子进程将会结束(然后根据需要确定是否创建新的子进程),该值设为0表示不限制请求总数(子进程永不结束)。

该参数建议设为非零的值,可以带来以下两个好处:

可以防止程序中可能存在的内存泄漏无限进行下去,从而耗尽内存。

给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式