Apache中KeepAlive的含义、作用及配置

作者:小菜 更新时间:2025-03-16 点击数:
简介:引子 先来分析一个Yslow测试的一个页面的前端性能。

这里所有的请求是指http请求,对于一个请求各个阶段的划分,阻挡->域名解析->建立连接->发送请求->

【菜科解读】

引子

先来分析一个Yslow测试的一个页面的前端性能。

这里所有的请求是指http请求,对于一个请求各个阶段的划分,阻挡->域名解析->建立连接->发送请求->等待响应->接收数据。

当然不是每个请求都要包含所有过程。

在以上测试中,没有涉及到请求下载资源过程中还有一个部分:TCP请求的链接与断开,而这篇文章正式说这个请求的。

那么http请求和tcp请求是什么关系呢?简单点说就是一个tcp请求是比较靠近底层的,在它上面是http之类的应用请求,所以可以认为一个tcp请求包括很多个http请求(至于包括多少,apache中可以设定),同时tcp的链接与断开比http请求的链接和断开更需要消耗掉更多的内存资源和时间。

KeepAlive的含义

KeepAlive配置的含义:对于HTTP/1.1的客户端来说,将会尽量的保持客户的HTTP连接,通过一个连接传送多份HTTP请求响应。

这样对于客户端来说,可以提高50%左右的响应时间,而于服务器端来说则降低了更多个连接的开销。

不过这个依赖于客户端是否想保持连接。

IE默认是保持连接的,当你打开100个图片的网站时,IE有可能只打开2个连接,通过这两个连接传送数据,而不是开100个连接。

在Apache服务器中,KeepAlive是一个布尔值,On代表打开,Off代表关闭,这个指令在其他众多的HTTPD服务器中都是存在的。

KeepAliveTimeout为持久连接保持的时间,也就是说,在这此连接结束后开始计时,多长时间内没有重新发送HTTP请求,就断掉连接。

默认设置为5秒,这个值可以大点,但不能太大,否则会出现同时等候过多连接,导致多的内存被占用。

KeepAlive的作用

如何谋求网络带宽与服务器资源之间的平衡。

这个要根据具体情况,具体分析。

那么我们考虑3种情况: 1。

用户浏览一个网页时,除了网页本身外,还引用了多个javascript文件,多个css文件,多个图片文件,并且这些文件都在同一个HTTP服务器上。

2。

用户浏览一个网页时,除了网页本身外,还引用一个javascript文件,一个图片文件。

3。

用户浏览的是一个动态网页,由程序即时生成内容,并且不引用其他内容。

对于上面3中情况,我认为:1最适合打开KeepAlive,2随意,3最适合关闭KeepAlive 在Apache中,打开和关闭KeepAlive功能,服务器端会有什么异同呢?下面看理论分析。

打开KeepAlive后,意味着每次用户完成全部访问后,都要保持一定时间后才关闭会关闭TCP连接,那么在关闭连接之前,必然会有一个Apache进程对应于该用户而不能处理其他用户,假设KeepAlive的超时时间为10秒种,服务器每秒处理50个独立用户访问,那么系统中Apache的总进程数就是10*50=500个,如果一个进程占用4M内存,那么总共会消耗2G内存,所以可以看出,在这种配置中,相当消耗内存,但好处是系统只处理了50次TCP的握手和关闭操作。

如果关闭KeepAlive,如果还是每秒50个用户访问,如果用户每次连续的请求数为3个,那么Apache的总进程数就是50*3=150个,如果还是每个进程占用4M内存,那么总的内存消耗为600M,这种配置能节省大量内存,但是,系统处理了150次TCP的握手和关闭的操作,因此又会多消耗一些CPU资源。

在看看实践的观察。

在一组大量处理动态网页内容的服务器中,起初打开KeepAlive功能,经常观察到用户访问量大时Apache进程数也非常多,系统频繁使用交换内存,系统不稳定,有时负载会出现较大波动。

关闭了KeepAlive功能后,看到明显的变化是:Apache的进程数减少了,空闲内存增加了,用于文件系统Cache的内存也增加了,CPU的开销增加了,但是服务更稳定了,系统负载也比较稳定,很少有负载大范围波动的情况,负载有一定程度的降低;变化不明显的是:访问量较少的时候,系统平均负载没有明显变化。

总结一下: 在内存非常充足的服务器上,不管是否关闭KeepAlive功能,服务器性能不会有明显变化; 如果服务器内存较少,或者服务器有非常大量的文件系统访问时,或者主要处理动态网页服务,关闭KeepAlive后可以节省很多内存,而节省出来的内存用于文件系统Cache,可以提高文件系统访问的性能,并且系统会更加稳定。

KeepAlive配置文件

如果设置KeepAlive,找到这个设置的文件颇为费时,以前版本的大多配置都在httpd.conf文件,现在版本(2.4.2)的apache把不少配置都分离到不同的文件中了,于是,我只好一个文件一个文件的搜索。

...apache/conf/extra/httpd-default.conf

## This configuration file reflects default settings for Apache HTTP Server.## You may change these, but chances are that you may not need to.### Timeout: The number of seconds before receives and sends time out.#Timeout 60## KeepAlive: Whether or not to allow persistent connections (more than# one request per connection). Set to "Off" to deactivate.#KeepAlive On## MaxKeepAliveRequests: The maximum number of requests to allow# during a persistent connection. Set to 0 to allow an unlimited amount.# We recommend you leave this number high, for maximum performance.#MaxKeepAliveRequests 100## KeepAliveTimeout: Number of seconds to wait for the next request from the# same client on the same connection.#KeepAliveTimeout 5## UseCanonicalName: Determines how Apache constructs self-referencing# URLs and the SERVER_NAME and SERVER_PORT variables.# When set "Off", Apache will use the Hostname and Port supplied# by the client. When set "On", Apache will use the value of the# ServerName directive.#UseCanonicalName Off## AccessFileName: The name of the file to look for in each directory# for additional configuration directives. See also the AllowOverride # directive.#AccessFileName .htaccess## ServerTokens# This directive configures what you return as the Server HTTP response# Header. The default is 'Full' which sends information about the OS-Type# and compiled in modules.# Set to one of: Full | OS | Minor | Minimal | Major | Prod# where Full conveys the most information, and Prod the least.#ServerTokens Full## Optionally add a line containing the server version and virtual host# name to server-generated pages (internal error documents, FTP directory # listings, mod_status and mod_info output etc., but not CGI generated # documents or custom error documents).# Set to "EMail" to also include a mailto: link to the ServerAdmin.# Set to one of: On | Off | EMail#ServerSignature Off## HostnameLookups: Log the names of clients or just their IP addresses# e.g., www.apache.org (on) or 204.62.129.132 (off).# The default is off because it'd be overall better for the net if people# had to knowingly turn this feature on, since enabling it means that# each client request will result in AT LEAST one lookup request to the# nameserver.#HostnameLookups Off## Set a timeout for how long the client may take to send the request header# and body.# The default for the headers is header=20-40,MinRate=500, which means wait# for the first byte of headers for 20 seconds. If some data arrives,# increase the timeout corresponding to a data rate of 500 bytes/s, but not# above 40 seconds.# The default for the request body is body=20,MinRate=500, which is the same# but has no upper limit for the timeout.# To disable, set to header=0 body=0# RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500

文件的注释部分已经给出了每个参数的具体含义,所以这里就没必要一一解释了。

Apache,中,KeepAlive,的,含义,、,作用,及

换工作中间断了一个月社保如何办

换工作中间断了一个月社保怎么办?接下来随新社君一起了解具体详情吧。

社保中途断交后是可以累计的,包括养老保险和医疗保险。

一、养老保险根据《中华人民共和国社会保险法》第十六条,参加基本养老保险的个人,达到法定退休年龄时累计缴费满十五年的,按月领取基本养老金。

因此,养老保险缴费是累计计算的,即使中途断交,只要累计缴费满十五年,达到法定退休年龄后仍可以按月领取基本养老金。

二、医疗保险医保断交3个月以上可以累计使用,累计缴费年限不会清0,但连续缴费年限会重新开始计算。

达到法定退休年龄时累计缴费达到年限的,退休后不再缴纳基本医疗保险费。

所以,医疗保险也是累计计算的,断交后不会影响已累计的缴费年限。

社保需要交多少年才可以领养老金?法定退休年龄是指劳动者在符合特定条件下可以开始享受基本养老保险待遇的年龄。

这一年龄限制由法律、法规,不同地区的法定退休年龄可能存在差异。

法定退休年龄根据性别和工种的不同而有所区分。

一般来说,男性的法定退休年龄为60周岁,而女性职工的法定退休年龄为50周岁,女性干部的法定退休年龄为55周岁。

这些法规适用于大多数劳动者。

然而,对于从事特殊工种的劳动者,法定退休年龄可能会有所不同。

例如,从事井下、高空、高温、特别繁重体力劳动或其他有害身体健康的工作的劳动者,可能会享有提前退休的权益。

此外,对于因病或非因工致残的劳动者,经过鉴定完全丧失劳动能力的,也可能会有提前退休的法规。

请注意,这些法规并非一成不变。

随着社会经济的发展和人口老龄化的加剧,可能会对法定退休年龄进行适当调整。

因此,具体的法定退休年龄应以当时的法律、法规和方案为准。

为了获取最准确的信息,建议劳动者定期查阅相关法律法规和方案,或者咨询当地的有关部门。

温馨提示:本数据仅供参考!具体需以当地有关法规为准!

资阳社保中间断了可以补交吗

社保即社会保险,它主要包括基本养老保险、基本医疗保险、工伤保险、失业保险和生育保险。

下面随新社通小编看看:资阳社保中间断了可以补交吗?断缴社保能不能补?如何补交?资阳社保断交期间是可以进行补缴的。

但具体补交条件因地区、险种和断交时间长短而有所不同。

社保断交期间是可以进行补缴的。

补缴社保的方式主要有以下几种:(一)单位补缴如果是职工,社保断交后,可以要求单位进行补缴。

单位未按时足额缴纳社会保险费的,由社会保险费征收机构责令其限期缴纳或者补足。

如果单位逾期仍未缴纳或者补足社会保险费的,社会保险费征收机构可以向银行和其他金融机构查询其存款账户,并可以申请县级以上有关部门作出划拨社会保险费。

(二)个人补缴个人可以选择到社保局直接办理补缴手续。

如果是灵活就业人员,可以直接向社保局申请缴纳补缴社保。

补缴的时间一般根据个人的实际情况而定,可以补缴最近一段时间内的社保费用。

(三)中介代交此外,个人也可以选择通过中介机构代为办理社保补缴手续。

这种方式需要支付一定的服务费用,但可以省去个人办理的繁琐流程。

另外,《中华人民共和国社会保险法》第八十六条和第六十三条用人单位未按时足额缴纳社会保险费的,由社会保险费征收机构责令限期缴纳或者补足,并自欠缴之日起按日加收滞纳金;逾期仍不缴纳的,将被处以罚钱。

因此,对于单位来说,及时足额缴纳社会保险费是法律的义务,必须严格遵守。

需要注意的是,社保补缴的具体流程可能因地区而异,建议在进行补缴前咨询当地社保局或相关部门了解详细情况。

资阳社保怎么续交?社保续交需要哪些手续? 厦门社保补缴的方式主要有以下几种:1.厦门社保部门补缴:直接去社保局办理补缴,既可以补缴城镇职工社保,也可以补缴城镇居民社保,但这仅限本地人办理。

2.厦门单位补缴:可以选择让单位帮你补缴,前提是单位愿意帮你申请补缴。

如果是单位漏交的,按要求是可以要求单位进行补缴的。

3.厦门中介代缴:选择一个合适的社保代理机构为你缴纳,需要支付的费用不仅有社保必须的费用,还有社保代理机构的服务费。

请注意,无论选择哪种方式进行补缴,都需要确保所提供的信息真实可靠,避免不必要的损失。

加入收藏
               

Apache中KeepAlive的含义、作用及配置

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录