最近参加了很多面试,多多少少有点小感悟,可以说观念转变了不少,特别是对于作为一个开发人员的定位,原来只是认为开发人员就只需要写好代码就行了,所以只需要有数据结构,算法,设计模式,重构方面的知识就行了。但是经过多次的面试,认识到网站的维护和优化也是开发人员的一个必要的素质。几乎所有的面试官都会问到一个问题,那就是如何优化一个网站,这个问题涉及到很多方面,其实面试官就是想考察你对常见的服务器,数据库的知识是否熟悉。

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配置优化的更多相关文章

  1. apache配置优化 - 解决apache环境下网站访问速度慢的问题(重点参考)

    如果apche访问量过大,将会导致页面打开迟缓,下载速度也降低,如果由于经费和环境问题,集群方案没有得以应用.可以通过对Apache2增加模块MPM来进行优化, 这里我选择线程型MPM加以优化:  开 ...

  2. Apache配置优化之开启KeepAlive

    在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求.从而避 ...

  3. Apache配置优化之开启GZip传输

    1.确保apache已经编译的模块里有mod_deflate模块 2.确保apache的配置文件里引入了压缩的模块 3.确保要开启Gzip压缩的虚拟主机配置里有如下配置,并重启apache服务:如果要 ...

  4. Apache配置优化一(查看当前apache数据)

    1.查看当前的运行模块 httpd -l 2.查看httpd进程数 ps -ef | grep httpd | wc -l 3.查看请求80服务的client ip按照连接数排序 netstat -n ...

  5. apache性能配置优化

    最近在进行apache性能优化设置.在修改apache配置文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. httpd相关 ...

  6. Apache 性能配置优化

    前言 最近在进行apache性能优化设置.在修改apache配置)文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. htt ...

  7. Apache配置压缩优化时报错——undefined symbol: inflateEnd

    Apache配置压缩优化时报错——undefined symbol: inflateEnd 环境:CentOS 6.4 软件版本:httpd-2.4.6 apr-1.4.8 apr-util-1.5. ...

  8. apache的配置优化

    [APACHE的工作方式] prefork模式(默认)这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程 ...

  9. Apache性能优化、超时设置,linux 重启apache

    在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效.其中调节以下参数Timeout 15 (连接超时 ...

随机推荐

  1. CSS3 text-rendering属性

    这种非标准的属性目前不被推荐.我们一般会找一个可以替代的方法来完成相同的功能,不到外不得已,最好别用.   CSS的这个text-rendering属性通常被用在Windows和Linux系统中,用来 ...

  2. [大牛翻译系列]Hadoop(17)MapReduce 文件处理:小文件

    5.1 小文件 大数据这个概念似乎意味着处理GB级乃至更大的文件.实际上大数据可以是大量的小文件.比如说,日志文件通常增长到MB级时就会存档.这一节中将介绍在HDFS中有效地处理小文件的技术. 技术2 ...

  3. Spark 大数据平台

    Apache Spark is an open source cluster computing system that aims to make data analytics fast - both ...

  4. Python解析HTML的开发库pyquery

    PyQuery是一个类似于jQuery的Python库,也可以说是jQuery在Python上的实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好. 例如,一段豆瓣h ...

  5. WPF之旅(一)- 概述

    WPF与之前出现的其他技术相比引入了“内置硬件加速”和“分辨率无关”等创新功能.WPF是一种成熟的技术,它是几个已经发布的.NET平台的一部分,并通过几个版本不断地进行完善(WPF3.0 -> ...

  6. WPF自定义控件(三)——Window

    一样!先来看看效果吧: 怎么样?效果很好吧,而且不只是样式哟!所有系统窗体有的交互操作都可以实现! 但可惜...有很多和系统API有关的东西本人了解得并不多,所以这个窗体是基于他人的成果上产生的.关于 ...

  7. swap分区添加

    首先你需要使用命令:dd 来创建一个swapfile,然后你需要使用mkswap命令在设备或者文件中创建一个Linux swap分区a) 使用root用户登陆b) 使用下面的命令创建一个2G的 Swa ...

  8. MS MQ 消息队列

    一.安装 先在 控制面板—程序和功能—打开或关闭我windows功能.把 msmq全勾起来 如下图: 二.右击-消息对列—属性—服务器安全性,把禁用未经身份验证的RPC调用勾去掉, 三.然后在专用队列 ...

  9. python之setattr,getattr,hasattr

    可以使用setattr(), getattr(), hasattr()动态对实例进行操作. 相当于Java中的反射机制, 或者更确切地, 像JavaScript中属性操作. 具体属性: __dict_ ...

  10. 静态wenb开发,动态web开发