apache 2压缩功能的启用和配置,并发配置

来源:互联网 发布:php电子商城流程图 编辑:程序博客网 时间:2024/06/11 13:45

 以下文章由网上总结和汇总.

apache有关并发控制主要是 preforkworker二个其中一个来控制.我们可以使用httpd -l来确定当前使用的MPMprefork.c,还是Worker.c.

# httpd -l

Compiled in modules:

  core.c

  prefork.c

  http_core.c

  mod_so.c

 

相关的配置在httpd.conf 当中可以找到

查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):

ps -ef | grep httpd | wc –l

 

出现的结果,就是当前Apache能够处理的多少个并发请求,这个值Apache根据负载情况自动调.

查看Apache的并发请求数及其TCP连接状态

 

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'

 

返回结果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。

状态:描述

CLOSED:无连接是活动的或正在进行

LISTEN:服务器在等待进入呼叫

SYN_RECV:一个连接请求已经到达,等待确认

SYN_SENT:应用已经开始,打开一个连接

ESTABLISHED:正常数据传输状态

FIN_WAIT1:应用说它已经完成

FIN_WAIT2:另一边已同意释放

ITMED_WAIT:等待所有分组死掉

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉

 

可以使用Linux下的webbench来作压力测试.

 

 

ExtendedStatus On 因为写入额外的时间标志,设off

 

检查apache是否支持压缩功能:

Http.conf 中必须加载的模块:

LoadModule headers_module

#modules/mod_headers.so

LoadModule deflate_module

#modules/mod_deflate.so

 

添加如下代码:

 

(<ifmodule mod_deflate.c>

    AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-httpd-php application/x-javascript text/css

    DeflateCompressionLevel 6

    SetOutputFilter DEFLATE

    #DeflateFilterNote Input instream

    #DeflateFilterNote Output outstream

    #DeflateFilterNote Ratio ratio

    #LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate

    #CustomLog logs/deflate_log.log deflate

</ifmodule>)

完善部分:

<ifmodule mod_deflate.c>

    AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-httpd-php application/x-javascript text/css

   AddOutputFilter DEFLATE css       #压缩css文件

   AddOutputFilter DEFLATE js          #压缩js文件

  # Don't compress images                                           #对照片文件不进行压缩处理

SetEnvIfNoCase Request_URI (?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI (?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary

#SetEnvIfNoCase Request_URI .(css|js)$ no-gzip dont-vary

 

# Make sure proxies don't deliver the wrong content

Header append Vary User-Agent env=!dont-vary

 

    DeflateCompressionLevel 6

    SetOutputFilter DEFLATE

    #DeflateFilterNote Input instream

    #DeflateFilterNote Output outstream

    #DeflateFilterNote Ratio ratio

    #LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate

    #CustomLog logs/deflate_log.log deflate

</ifmodule>

 

php.ini的压缩机制配置位置:默认情况下是关闭的.
#vi /etc/php.ini
=================================================
output_buffering = Off
output_handler =
zlib.output_compression = Off
=================================================

 

原创粉丝点击