apache配置优化
最近参加了很多面试,多多少少有点小感悟,可以说观念转变了不少,特别是对于作为一个开发人员的定位,原来只是认为开发人员就只需要写好代码就行了,所以只需要有数据结构,算法,设计模式,重构方面的知识就行了。但是经过多次的面试,认识到网站的维护和优化也是开发人员的一个必要的素质。几乎所有的面试官都会问到一个问题,那就是如何优化一个网站,这个问题涉及到很多方面,其实面试官就是想考察你对常见的服务器,数据库的知识是否熟悉。
apache的配置优化可以从以下几个方面来考虑:
一 . 内存
要让服务器运行的足够快,重点是要确保有足够的内存。方法是测定运行Apache进程平均所需的内存容量。将此数目乘上最大负荷量。
如果不管什么原因都无法替服务器加入更多的内存,可以用相同的技术推算出在任何时间能够服务的最大子进程数,并使用MaxClient
指令来限制Apache最多只能处理这么多进程。
二. 调节保持链接(KeepAlive)的设定
http的默认行为是在新的连接上请求文件,这会花费许多时间启动与关闭连接。使用KeepAlive可以在单一连接时进行多个请求,因此
可以减少建立socket连接所需要的时间,而这又会加快客户端在请求网页内容时的加载速度。
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15
三.避免DNS查询
DNS查询会花非常久的时间,因此应该尽量的避免,如果完全无法查询客户端的地址,可能需要几分钟才会让查询过期,而
在这段时间内,执行查询的子进程将无法做其他的事情。方法将HostNameLookups指令始终设为off
四.最佳化符号链接
如果服务器被设定成不遵循符号链接,则Apache必须考虑文件以及目录是不是符号连接。则Apache必须考虑文件以及目录是不是符号链接,
此外,如果启用Option SymLinksIfOwnerMatch, Apache不仅必须检查特定的文件是否是符号链接,还要检查链接本身以及对象的所有权。
虽然这会强制实行某种安全防护原则,但却会花费相当多的时间。并会降低运行速度。如果重点考虑性能,则使用Option FollowSymlinks,即Apache
设置不会检查是不是符号链接。
五.最小化.htaccess文件对性能的影响
只在必要的目录中启用AllowOverride,并告知Apache不要浪费时间在别的位置查找.htacess文件
AllowOverride None
然后以<Diretory>区块启动必要的.htacess文件
六.禁用网页内容协商
如果有可能,请禁用网页内容协商。不过,如果必须使用网络协商,例如有多种语言的网站,则应该使用type-map处理器而非MultiViews指令。
当使用MultiViews送出请求时,Apache都需要取得目录列表。
禁用非必要的网页内容协商。如果真的需要使用网页内容协商,请使用type-map处理器而非MultiViews选项
Option -MultiViews
AddHandler type-map var
七. 最佳化进程的产生
MinSpareServers以及MaxSpareServers指令会控制服务器池的大小,以便永远有子进程等待服务引入的请求。
如果闲置的进程数少于MinSpareServers,则Apache会产生更多的进程达到最少数目;同理,如果空闲进程数比MaxSpareServers多,
Apache则会删除进程直到少于最大数目。
八.调节线程的产生
原理同(七)
apache配置优化的更多相关文章
- apache配置优化 - 解决apache环境下网站访问速度慢的问题(重点参考)
如果apche访问量过大,将会导致页面打开迟缓,下载速度也降低,如果由于经费和环境问题,集群方案没有得以应用.可以通过对Apache2增加模块MPM来进行优化, 这里我选择线程型MPM加以优化: 开 ...
- Apache配置优化之开启KeepAlive
在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求.从而避 ...
- Apache配置优化之开启GZip传输
1.确保apache已经编译的模块里有mod_deflate模块 2.确保apache的配置文件里引入了压缩的模块 3.确保要开启Gzip压缩的虚拟主机配置里有如下配置,并重启apache服务:如果要 ...
- Apache配置优化一(查看当前apache数据)
1.查看当前的运行模块 httpd -l 2.查看httpd进程数 ps -ef | grep httpd | wc -l 3.查看请求80服务的client ip按照连接数排序 netstat -n ...
- apache性能配置优化
最近在进行apache性能优化设置.在修改apache配置文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. httpd相关 ...
- Apache 性能配置优化
前言 最近在进行apache性能优化设置.在修改apache配置)文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. htt ...
- Apache配置压缩优化时报错——undefined symbol: inflateEnd
Apache配置压缩优化时报错——undefined symbol: inflateEnd 环境:CentOS 6.4 软件版本:httpd-2.4.6 apr-1.4.8 apr-util-1.5. ...
- apache的配置优化
[APACHE的工作方式] prefork模式(默认)这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程 ...
- Apache性能优化、超时设置,linux 重启apache
在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效.其中调节以下参数Timeout 15 (连接超时 ...
随机推荐
- Mongodb Java Driver 参数配置解析
要正确使用Mongodb Java Driver,MongoClientOptions参数配置对数据库访问的并发性能影响极大. connectionsPerHost:与目标数据库能够建立的最大conn ...
- JAVA多线程学习1
一.进程与线程 线程是指进程内的一个执行单元(可理解为程序内的一条执行路径),也是进程内的可调度实体. 线程与进程的区别: 1.线程是进程的一个执行单元,一个进程可以拥有多个线程,线程之间共享进程的地 ...
- Ajax和JavaScript的区别
javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript.Javascript是由网景公司开发的一种脚 ...
- php文本操作方法集合比较第2页
fgets和fputs.fread和fwrite.fscanf和fprintf 格式化读写函数fscanf和fprintf fscanf函数,fprintf函数与前面使用的scanf和printf 函 ...
- php中json_encode中文编码问题分析
众所周知使用json_encode可以方便快捷地将对象进行json编码,但是如果对象的属性中存在着中文,问题也就随之而来了.json_encode会将中文转换为unicode编码例如:'胥'经过jso ...
- js javascript:void(0) 真正含义
我想使用过ajax的都常见这样的代码:<a href="javascript:doTest2();void(0);">here</a>但这儿的void(0) ...
- Python开发【第一篇】Python基础之自定义模块和内置模块
为什么要有模块,将代码归类.模块,用一砣代码实现了某个功能的代码集合. Python中叫模块,其他语言叫类库. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代 ...
- Ztack学习笔记(1)-初识Ztack
一.Zigbee协议 Zigbee是IEEE 802.15.4协议的代名词,是一种短距离.低功耗的无线通信技术.这一名称来源于蜜蜂的八字舞,因为蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“ ...
- 【Web学习日记】——在IIS上发布一个WebService
没有开发过程,只是发布过程 一.前提 开发使用的是VS2013 从来没有做过Web的发布,在网上找例子,看到的总是与自己的情况不相符,而且也有人提出了VS2013发布网站的问题,但解决方案却很少,好不 ...
- Microsoft server software support for Microsoft Azure virtual machines
http://support.microsoft.com/kb/2721672/en-us Article ID: 2721672 - Last Review: November 22, 2014 ...