一些Apache、Php和Mysql的优化配置选项

1、apache

apache的配置文件:httpd.conf
HostnameLookups
语法:HostnameLookups On|Off|Double
默认:HostnameLookups Off
此选项可用来配置是否在客户端IP上启用DNS查询,一般设为off。
KeepAlive
语法:KeepAlive On|Off
默认:KeepAlive On
此选项可用来配置是否启用HTTP持久连接,一般设为On。
HTTP/1.0中Keep-Alive扩展和 HTTP/1.1中持久连接特性可以提供持久的HTTP sessions,可以允许在一个TCP连接中发送多次请求。在
HTTP/1.1中,持久连接是默认启用的,除非有特殊指定。如果请求内容长度未知,为了使用持久连接将会对内容进行分组编码。
MaxKeepAliveRequests
语法:MaxKeepAliveRequests number
默认:MaxKeepAliveRequests 100
此选项指定在一个持久连接中允许的最大请求次数(前提是KeepAlive On)。若设置为0,则是无限制的。一般建议根据服务器的配置及性能表
现,尽量将此值设置的大些。
KeepAliveTimeout
语法:KeepAliveTimeout num[ms]
默认:KeepAliveTimeout 5
此选项指定服务器在一次连接中的超时时间。如果在一次连接中第二次请求和第一次请求之间超过KeepAliveTimeOut的时间的话,第一次连接
就会被服务器关闭,再新建第二个连接。 此值设置越大,服务器压力也就越大。可根据实际情况配置。
MaxSpareServers
语法:MaxSpareServers number
默认值:MaxSpareServers 10
此选项设置空闲子进程的最大数量。所谓空闲子进程是指没有正在处理请求的子进程。如果当前有超过MaxSpareServers数量的空闲子进程,那
么父进程将杀死多余的子进程。一般此参数不可设置过大,不过至少比MinSpareServers要大。
MaxClients
语法:MaxClients number
默认值:MaxClients 150
此选项设置Apache可以同时处理请求的最大数量。如果请求总数已达到这个值,那么后面的请求就要排队,直到某个已处理请求完
毕。可以根据硬件配置和负载情况来动态调整这个值。Apache2.0以前版本默认的限制不能大于256,Apache 2.0中新加入了ServerLimit指令来
限制此值的最大值(max=20000)。
MaxRequestsPerChild
语法:MaxRequestsPerChild number
默认值:MaxRequestsPerChild 10000
此选项设置每个子进程可处理的请求数。每个子进程在处理了MaxRequestsPerChild个请求后将自动销毁。设置0表示无限,即子进程永不销毁
mod_deflate模块:
mod_deflate模块提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。
详情可参考:http://www.itlearner.com/code/apache2.2/mod/mod_deflate.html
mod_expires模块:
控制服务器应答时的Expires头内容和Cache-Control头的max-age指令。有效期(expiration date)可以设置为相对于源文件的最后修改时刻或者
客户端的访问时刻。这些HTTP头向客户端表明了文档的有效性和持久性。如果有缓存,文档就可以从缓存(除已经过期)而不是从服务器读取。接
着,客户端考察缓存中的副本,看看是否过期或者失效,以决定是否必须从服务器获得更新。
详情可参考:http://www.itlearner.com/code/apache2.2/mod/mod_expires.html
mod_cache、mod_mem_cache模块:
提供缓存支持,详情可参考:http://www.itlearner.com/code/apache2.2/mod/mod_mem_cache.html
2、php
php配置文件:php.ini
output_buffering、zlib.output_compression
output_buffering设置输出缓冲区大小,配合zlib.output_compression可对页面进行压缩后输出,节省带宽。
max_execution_time
设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。
max_input_time
脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。
memory_limit
设置一个脚本可允许分配的最大内存值。默认128M。
还有一些,可自行发掘,就不一一列举了。。。。。。
3、MySql
mysql配置文件:my.ini/my.cnf
skip-external-locking:忽略外部锁定,老版本为skip-locking。External-locking用于多进程条件下为MyISAM数据表进行锁定
skip-networking:只允许本地访问数据库
skip-name-resolve:禁用名称解析。注意本地访问的话就不能用localhost了,需要用IP地址访问,对应的权限授予也要相应改变。
根据内存和数据库状态具体调整下列配置选项:
key_buffer_size:设置MyISAM类型表的缓存索引大小。
query_cache_size:设置缓存SELECT查询结果的缓存大小,如果你的表结构及数据不怎么变动,那设置此参数性能会有很大提升。
query_cache_limit:设置缓存大小限制。意思就是如果查询结果大于此值,则不进行缓存。
还有max_allowed_packet、table_cache、thread_cache_size、sort_buffer_size、read_buffer_size、read_rnd_buffer_size、
join_buffer_size、tmp_table_size、max_tmp_tables、back_log、max_connections、wait_timeout等参数。

未经允许不得转载:SuperMan's blog » 一些Apache、Php和Mysql的优化配置选项

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址