iis和apache最大并发连接数
最佳回答
计算模型:
每台服务器每秒处理请求的数量=((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条回答
-
失控的影子
回复首先你应该了解Apache(httpd)是用来发布静态网站的工具。它常用来与weblogic或tomcat或PHP结合来发布动态网站,而apache只负责处理静态内容。
但weblogic 和 tomcat是用来发布Java语言开发网站的工具,与PHP还不一样。而且apache和以上所说的工具或者语言是跨平台的。可以部署在windows或者是Linux甚至macOS server等服务器操作系统上。
iis则只可以在Windows上运行,可以发布静态页,也可以发布基于.net开发的网站。
这取决你开发的网站系统使用什么“语言”和规模大小,以及对成本的考虑,没有哪个好哪个坏之分。
-
清风若雨
回复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起
回复IIS并发数要分几种情况:
1 用户打开你的页面,就算停留在页面没有对服务器发出任何请求,那么在用户打开一面以后的20分钟内也都要算一个在线,就是说你50人的网站。 20分钟内可以接受不同用户打开50个页面
2 上面B的情况用户继续打开同一个网站的其他页面,那么在线人数按照用户最后一次点击(发出请求)以后的20分钟计算,在这个20分钟内不管用户怎么点击(包括新窗口打开)都还是一人在线。
3 当你的页面内存在框架(Iframe),那么每多一个框架就要多一倍的在线!因为这相当于用户同一时间向服务器请求了多个页面。
4 当用户打开页面然后正常关闭浏览器,用户的在线人数也会马上清除
5 用户单点下载你的文件,结束后正常断开,这些连接是按照瞬间计算的,就是说你50人的网站瞬间可以接受同时50个点下载