15053971836 注册 / 登录

iis和apache最大并发连接数

时间: 阅读:354
iis和apache最大并发连接数

最佳回答

临沂网站建设

临沂网站建设

2023-01-13 07:32:10

计算模型: 
每台服务器每秒处理请求的数量=((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 confextra目录中有一个名为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表示不限制请求总数(子进程永不结束)。

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

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

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

最新回答共有5条回答

  • 失控的影子
    回复
    2023-01-13 10:10:23

    首先你应该了解Apache(httpd)是用来发布静态网站的工具。它常用来与weblogic或tomcat或PHP结合来发布动态网站,而apache只负责处理静态内容。

    但weblogic 和 tomcat是用来发布Java语言开发网站的工具,与PHP还不一样。而且apache和以上所说的工具或者语言是跨平台的。可以部署在windows或者是Linux甚至macOS server等服务器操作系统上。

    iis则只可以在Windows上运行,可以发布静态页,也可以发布基于.net开发的网站。

    这取决你开发的网站系统使用什么“语言”和规模大小,以及对成本的考虑,没有哪个好哪个坏之分。

  • 游客
    回复
    2023-01-13 10:10:23

    nginx

  • 清风若雨
    回复
    2023-01-13 10:10:23

    Apache和IIS都是web应用服务器,Apache可以在Windows和Linux、macOS等系统上运行,但IIS是捆绑在Windows系统上的,所以在市场占有率上Apache领先于IIS。

    那在Windows系统上到底是选Apache呢还是选IIS呢?

    其实这得看你的项目需求,如果你的项目是用

    .NET

    开发的,那用IIS是最好的,因为两者都是同一家的产品,兼容性是最好的。

    但如果你的项目不是用

    .NET

    开发的,那建议用Apache,原因很简单,主要有以下几点:

    1、稳定性上:

    Apache在业内口碑比IIS好太多,IIS程序池的回收机制有点反人类,IIS程序池在回收时,对应站点的web服务是无法继续提供服务的,会出现“假死”现象,这对于服务器而言,是致命的缺点!而稳定性上Apache比IIS好太多。

    2、功能配置上:

    配置上Apache比IIS要丰富,IIS相比其它web应用服务器而言功能上还是很单一的,比如说如果要在IIS上实现限流,很难!而Apache、Nginx等都很容易实现。

    3、扩展性上:

    IIS跑跑微软自家的产品还行,对于PHP、Java这类的支持就较差了,而Apache在这方面扩展性优于IIS。


    综上,在互联网时代有个原则就是技术选型尽可能选择开源的成熟方案,对于IIS这类用于测试还是可以的,线上很少有用IIS的。

    以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业

  • 建站最低500起
    回复
    2023-01-13 09:09:13

    IIS并发数要分几种情况:
    1 用户打开你的页面,就算停留在页面没有对服务器发出任何请求,那么在用户打开一面以后的20分钟内也都要算一个在线,就是说你50人的网站。 20分钟内可以接受不同用户打开50个页面
    2 上面B的情况用户继续打开同一个网站的其他页面,那么在线人数按照用户最后一次点击(发出请求)以后的20分钟计算,在这个20分钟内不管用户怎么点击(包括新窗口打开)都还是一人在线。
    3 当你的页面内存在框架(Iframe),那么每多一个框架就要多一倍的在线!因为这相当于用户同一时间向服务器请求了多个页面。
    4 当用户打开页面然后正常关闭浏览器,用户的在线人数也会马上清除
    5 用户单点下载你的文件,结束后正常断开,这些连接是按照瞬间计算的,就是说你50人的网站瞬间可以接受同时50个点下载