<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_南腔北调</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/79875/rss</id><updated>2010-11-29T09:45:24Z</updated><author><name>南腔北调</name><uri>http://www.cnblogs.com/rover/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rover/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/79875/rss"/><entry><id>http://www.cnblogs.com/rover/archive/2010/11/29/1891117.html</id><title type="text">apache性能优化</title><summary type="text">通过修改apache的配置文件，能对apache的很多特性进行控制和优化一、AllowOverride　　尽量不要使用.htaccess文件，重写该文件所在目录的apache配置信息，尤其是在这个目录或其下级所有目录访问量比较大的位置，应关闭该选项（AllowOverride none），并把这些配置信息直接写在apache的配置文件里，如httpd.conf。　　如果该选项被打开 AllowOv...</summary><published>2010-11-29T07:12:00Z</published><updated>2010-11-29T07:12:00Z</updated><author><name>南腔北调</name><uri>http://www.cnblogs.com/rover/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rover/archive/2010/11/29/1891117.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rover/archive/2010/11/29/1891117.html"/><content type="html">&lt;p&gt;通过修改apache的配置文件，能对apache的很多特性进行控制和优化&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;一、AllowOverride&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;尽量不要使用.htaccess文件，重写该文件所在目录的apache配置信息，尤其是在这个目录或其下级所有目录访问量比较大的位置，应关闭该选项（AllowOverride none），并把这些配置信息直接写在apache的配置文件里，如httpd.conf。&lt;/p&gt;&#xD;
&lt;p&gt;如果该选项被打开 AllowOverride AuthConfig | FileInfo | Indexes | Limit，那么apache会对对被打开该选项的目录及其所有子目录的访问进行.htaccess文件检查。&lt;/p&gt;&#xD;
&lt;p&gt;例如：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;Directory /var/www/&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;AllowOverride All&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;假现在有一个对 /var/www/htdocs/images/201003/bg.jpg 的访问，那么apache会对以下目录进行.htaccess文件检查：&lt;/p&gt;&#xD;
&lt;p&gt;/var/www/&lt;/p&gt;&#xD;
&lt;p&gt;/var/www/htdocs/&lt;/p&gt;&#xD;
&lt;p&gt;/var/www/htdocs/images/&lt;/p&gt;&#xD;
&lt;p&gt;/var/www/htdocs/images/201003/&lt;/p&gt;&#xD;
&lt;p&gt;这需要一定的系统消耗，特别是在一个访问量较大的系统中，系统消耗更加明显。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 性能最佳配置是：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　&amp;lt;Directory /var/www/&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　　　AllowOverride none&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　&amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;&amp;nbsp;二、与DNS相关的优化&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1、关闭HostnameLookups（HostnameLookups Off）&lt;/p&gt;&#xD;
&lt;p&gt;打开该选项会使apache对每个访问请求的client IP地址进行反向解释并对反向解释结果进行正向解释，以验证该名称的正确性。这无疑会增加apache对请求的响应时间。&lt;/p&gt;&#xD;
&lt;p&gt;2、不要用域名进行访问控制配置，而是直接使用IP，例如：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;Directory /var/www/&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;Deny from all&lt;/p&gt;&#xD;
&lt;p&gt;Allow from 127.0.0.1 # 这里使用IP，而不是域名&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果使用域名，同样会造成apache进行反向及正向两次解释，apache文档原文如下：&lt;/p&gt;&#xD;
&lt;p&gt;you will pay for two DNS lookups (a reverse, followed by a forward lookup to make sure that the reverse is not being spoofed).&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 性能最佳配置是：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　HostnameLookups Off&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　&amp;lt;Directory /var/www/&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　　　order deny allow&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　　　Deny from all&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　　　Allow from 127.0.0.1 # 这里使用IP，而不是域名&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　&amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;三、FollowSymLinks&amp;nbsp;和 SymLinksIfOwnerMatch&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1、尽量打开FollowSymLinks，如：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;Directory /var/www/&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;Options FollowSymLinks&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;该选项是控制是否充许用户请求符号连接的文件，如果关闭该选项，如：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;Directory /var/www/&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;Options -FollowSymLinks&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;则会导致apache对每个请求，检查从/var/www/目录开始的所有目录及其下级目录与最终的文件进行检查，判断每一级目录和所指向的文件是否为符号连接，与AllowOverride类似，这将是一笔可观的开销。&lt;/p&gt;&#xD;
&lt;p&gt;2、应尽量关闭SymLinksIfOwnerMatch，如：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;Directory /var/www/&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;Options -SymLinksIfOwnerMatch&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;因为FollowSymLinksIfOwnerMatch 的选项打开，会在文件所有者与连接所有者相同时使用符号连接，其它情况不充许，会引起符号连接检查。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 性能最佳配置是：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　&amp;lt;Directory /var/www/&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　　　Options FollowSymLinks -SymLinksIfOwnerMatch&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;　　&amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #000000;"&gt;四、MPM(Multi-Processing Module)优化&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　apache具有三种MPM，但每次只能有一个MPM是活动的，必须使用 --with-mpm=(worker|prefork|event) 静态编译。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　prefork&amp;mdash;&amp;mdash;传统MPM，每个请求使用一个进程；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　worker&amp;mdash;&amp;mdash;较新的MPM，它使用多个进程，每个进程又有多个线程，这样就能以较低的开销获得更好的性能。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　event&amp;mdash;&amp;mdash;最新的MPM，是一种实验性的模型，为不同的任务使用单独的线程池。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　选择使用何种MPM取决于许多因素。在event MPM 脱离实验状态之前，不应考虑这种模型，而是在使用prefork和worker之间作出选择。表面上看来，如果所有底层模块（包括 PHP 使用的所有库）都是线程安全的，线程要优于分叉（forking）。而 Prefork 是较为安全的选择；如果选择了 worker，则应该谨慎测试。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　1、确定你的apache使用的是哪种MPM&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　httpd -l&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　在ubuntu linux中，可用下面两种方法查看：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　方法1、&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　################&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　apache2 -l&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　Compiled in modules:&lt;br /&gt;&amp;nbsp; 　　　　core.c&lt;br /&gt;&amp;nbsp; 　　　　mod_log_config.c&lt;br /&gt;&amp;nbsp; 　　　　mod_logio.c&lt;br /&gt;&amp;nbsp; 　　　　&lt;span style="color: #ff0000;"&gt;prefork.c&lt;/span&gt;&lt;br /&gt;&amp;nbsp; 　　　　http_core.c&lt;br /&gt;&amp;nbsp; 　　　　mod_so.c&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　#################&lt;/span&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　方法2、&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　#################&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　dpkg -l |grep apache&lt;br /&gt;　　　　ii&amp;nbsp; apache2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.16-1ubuntu3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apache HTTP Server metapackage&lt;br /&gt;　　　　ii&amp;nbsp; &lt;span style="color: #ff0000;"&gt;apache2-mpm-prefork&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.16-1ubuntu3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apache HTTP Server - traditional non-threaded model&lt;br /&gt;　　　　ii&amp;nbsp; apache2-utils&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.16-1ubuntu3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; utility programs for webservers&lt;br /&gt;　　　　ii&amp;nbsp; apache2.2-bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.16-1ubuntu3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apache HTTP Server common binary files&lt;br /&gt;　　　　ii&amp;nbsp; apache2.2-common&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.16-1ubuntu3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apache HTTP Server common files&lt;br /&gt;　　　　ii&amp;nbsp; libapache2-mod-php5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.3.3-1ubuntu9.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server-side, HTML-embedded scripting language (Apache 2 module)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　#################&lt;br /&gt;&lt;br /&gt;　　2、prefork配置实例&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　######################&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　&amp;lt;IfModule mpm_prefork_module&amp;gt;&lt;br /&gt;　　　　　　StartServers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&lt;br /&gt;　　　　　　MinSpareServers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&lt;br /&gt;　　　　　　MaxSpareServers&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&lt;br /&gt;　　　　　　MaxClients&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　225&lt;br /&gt;　　　　　　MaxRequestsPerChild&amp;nbsp; 4000&lt;br /&gt;　　　　&amp;lt;/IfModule&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　#######################&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　StartServers：Web 服务器启动时，预先启动 50 个进程&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　MinSpareServers及MaxSpareServers：apache尽力保持 15 到 30 个空闲服务器运行。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　MaxClients：充许启动的最大进程数，如果这个数量超过256，必须设置 ServerLimit，大于或等于MaxClients。由于内存容量有限，这个数值过大会引起过多的内存交换(swap)，从而降低整体服务质量，如果过小又不能充份利用服务器资源，所以要视具体情况而定。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　MaxRequestsPerChild：尽管一个进程能够处理许多相继的请求，但这里Apache 还是会取消连接数超过 4,000 以后的进程，这降低了内存泄漏的风险。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;　　　　实际的配置要根据你的服务器的硬件资源及访问量而定，没有一个绝对的优化数值。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rover/aggbug/1891117.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rover/archive/2010/11/29/1891117.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rover/archive/2010/11/29/apache_mod_status.html</id><title type="text">apache的mod_status</title><summary type="text">apache的mod_status模块，提供了对apache运行时的一些统计信息，对apache的管理员来说很有意义。一.加载apache的mod_status模块各种系统下，加载apache模块的方法不同，以ubuntu linux为例，如果使用在线安装的apache包，加载mod_status方法如下：a2enmod status二.配置apache###apache2.conf###&amp;lt;...</summary><published>2010-11-29T03:40:00Z</published><updated>2010-11-29T03:40:00Z</updated><author><name>南腔北调</name><uri>http://www.cnblogs.com/rover/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rover/archive/2010/11/29/apache_mod_status.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rover/archive/2010/11/29/apache_mod_status.html"/><content type="html">&lt;p&gt;apache的mod_status模块，提供了对apache运行时的一些统计信息，对apache的管理员来说很有意义。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;一.加载apache的mod_status模块&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;各种系统下，加载apache模块的方法不同，以ubuntu linux为例，如果使用在线安装的apache包，加载mod_status方法如下：&lt;/p&gt;&#xD;
&lt;p&gt;a2enmod status&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;二.配置apache&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;###apache2.conf###&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;Location /visitname&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetHandler server-status&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Order deny,allow&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Deny from all&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Allow from all&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;###############&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;三.查看apache状态信息报告页面&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;重启apache或重新载入apahce配置文件之后，即生效。此时可用 &lt;a href="http://yourdomain/visitname"&gt;http://yourdomain/visitname&lt;/a&gt;访问，查看apache运行信息。&lt;/p&gt;&#xD;
&lt;p&gt;1.&amp;lt;Location /visitname&amp;gt;这里的visitname是可以自己取的名字，可随意修改成你自己想要的字符串，只要在访问URL中使用你取的名字就可以了。&lt;/p&gt;&#xD;
&lt;p&gt;2.&lt;a href="http://yourdomain/visitname"&gt;http://yourdomain/visitname&lt;/a&gt;后面可加两个参数，可一起加&lt;/p&gt;&#xD;
&lt;p&gt;a.页面信息自动更新 &lt;a href="http://yourdomain/visitname"&gt;http://yourdomain/visitname?refresh=3&lt;/a&gt; [每三秒自动更新一次页面信息]&lt;/p&gt;&#xD;
&lt;p&gt;b.机器可读格式的信息页面 &lt;a href="http://yourdomain/visitname?auto"&gt;http://yourdomain/visitname?auto&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;3.打开更多有关apache的状态信息&lt;/p&gt;&#xD;
&lt;p&gt;在apache2.conf中，多加一句配置信息&lt;/p&gt;&#xD;
&lt;p&gt;###apache2.conf###&lt;/p&gt;&#xD;
&lt;p&gt;ExtendedStatus On&lt;/p&gt;&#xD;
&lt;p&gt;##############&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;四.数据分析&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;先看apache mod_status的部分统计信息&lt;/p&gt;&#xD;
&lt;p&gt;####################################&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Apache Server Status for &lt;a href="http://www.test.com"&gt;www.test.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;dl&gt;&lt;dt&gt;Server Version: Apache/2.2.16&amp;nbsp;&amp;nbsp;mod_ssl/2.2.16 OpenSSL/0.9.8o &lt;/dt&gt;&lt;dt&gt;Server Built: Sep 8 2010 12:52:08 &lt;/dt&gt;&lt;/dl&gt;&#xD;
&lt;hr /&gt;&#xD;
&lt;dl&gt;&lt;dt&gt;Current Time: Monday, 29-Nov-2010 12:31:14 CST &lt;/dt&gt;&lt;dt&gt;Restart Time: Monday, 29-Nov-2010 11:33:33 CST &lt;/dt&gt;&lt;dt&gt;Parent Server Generation: 3 &lt;/dt&gt;&lt;dt&gt;Server uptime: 57 minutes 40 seconds &lt;/dt&gt;&lt;dt&gt;Total accesses: 8596 - Total Traffic: 29.2 MB &lt;/dt&gt;&lt;dt&gt;CPU Usage: u1.62 s9.43 cu0 cs0 - .319% CPU load &lt;/dt&gt;&lt;dt&gt;2.48 requests/sec - 8.7 kB/second - 3565 B/request &lt;/dt&gt;&lt;dt&gt;111 requests currently being processed, 0 idle workers &lt;/dt&gt;&lt;/dl&gt;&#xD;
&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2010/219267/2010112913445118.jpg" alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Scoreboard Key:&lt;br /&gt;"&lt;strong&gt;&lt;code&gt;_&lt;/code&gt;&lt;/strong&gt;" Waiting for Connection, "&lt;strong&gt;&lt;code&gt;S&lt;/code&gt;&lt;/strong&gt;" Starting up, "&lt;strong&gt;&lt;code&gt;R&lt;/code&gt;&lt;/strong&gt;" Reading Request,&lt;br /&gt;"&lt;strong&gt;&lt;code&gt;W&lt;/code&gt;&lt;/strong&gt;" Sending Reply, "&lt;strong&gt;&lt;code&gt;K&lt;/code&gt;&lt;/strong&gt;" Keepalive (read), "&lt;strong&gt;&lt;code&gt;D&lt;/code&gt;&lt;/strong&gt;" DNS Lookup,&lt;br /&gt;"&lt;strong&gt;&lt;code&gt;C&lt;/code&gt;&lt;/strong&gt;" Closing connection, "&lt;strong&gt;&lt;code&gt;L&lt;/code&gt;&lt;/strong&gt;" Logging, "&lt;strong&gt;&lt;code&gt;G&lt;/code&gt;&lt;/strong&gt;" Gracefully finishing,&lt;br /&gt;"&lt;strong&gt;&lt;code&gt;I&lt;/code&gt;&lt;/strong&gt;" Idle cleanup of worker, "&lt;strong&gt;&lt;code&gt;.&lt;/code&gt;&lt;/strong&gt;" Open slot with no current process&lt;/p&gt;&#xD;
&lt;table border="0"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th&gt;Srv&lt;/th&gt;&lt;th&gt;PID&lt;/th&gt;&lt;th&gt;Acc&lt;/th&gt;&lt;th&gt;M&lt;/th&gt;&lt;th&gt;CPU &lt;/th&gt;&lt;th&gt;SS&lt;/th&gt;&lt;th&gt;Req&lt;/th&gt;&lt;th&gt;Conn&lt;/th&gt;&lt;th&gt;Child&lt;/th&gt;&lt;th&gt;Slot&lt;/th&gt;&lt;th&gt;Client&lt;/th&gt;&lt;th&gt;VHost&lt;/th&gt;&lt;th&gt;Request&lt;/th&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;strong&gt;0-3&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td&gt;32178&lt;/td&gt;&#xD;
&lt;td&gt;0/2/16&lt;/td&gt;&#xD;
&lt;td&gt;&lt;strong&gt;W&lt;/strong&gt; &lt;/td&gt;&#xD;
&lt;td&gt;0.05&lt;/td&gt;&#xD;
&lt;td&gt;2456&lt;/td&gt;&#xD;
&lt;td&gt;0&lt;/td&gt;&#xD;
&lt;td&gt;0.0&lt;/td&gt;&#xD;
&lt;td&gt;0.00&lt;/td&gt;&#xD;
&lt;td&gt;0.02 &lt;/td&gt;&#xD;
&lt;td&gt;60.28.164.103&lt;/td&gt;&#xD;
&lt;td&gt;&lt;a href="http://www.test.com"&gt;www.test.com&lt;/a&gt;&lt;/td&gt;&#xD;
&lt;td&gt;GET /indexTarget.do?channel=1064&amp;amp;content=20444&amp;amp;id=1&amp;amp;number=1000&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;strong&gt;1-3&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td&gt;32682&lt;/td&gt;&#xD;
&lt;td&gt;0/19/75&lt;/td&gt;&#xD;
&lt;td&gt;&lt;strong&gt;W&lt;/strong&gt; &lt;/td&gt;&#xD;
&lt;td&gt;0.02&lt;/td&gt;&#xD;
&lt;td&gt;1994&lt;/td&gt;&#xD;
&lt;td&gt;0&lt;/td&gt;&#xD;
&lt;td&gt;0.0&lt;/td&gt;&#xD;
&lt;td&gt;0.08&lt;/td&gt;&#xD;
&lt;td&gt;0.22 &lt;/td&gt;&#xD;
&lt;td&gt;60.28.164.103&lt;/td&gt;&#xD;
&lt;td&gt;www.test.com&lt;/td&gt;&#xD;
&lt;td&gt;GET /indexTarget.do?channel=1064&amp;amp;content=20040 HTTP/1.0&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;p&gt;####################################&lt;/p&gt;&#xD;
&lt;p&gt;1.Scoreboard中的每个字符代表一个slot，字符总数代表apache所充许的最大子进程或线程（是进程还是线程这取决于你所使用的apache MPM是什么）数。&lt;/p&gt;&#xD;
&lt;p&gt;我经常参考的数据有两种：&lt;/p&gt;&#xD;
&lt;p&gt;a.如果这些字符中基乎没有"."了，这说明apache配置的MaxClients数量不够用了，要根据你的硬件资源（通常是RAM资源）情况决定是否调大这个数值。&lt;/p&gt;&#xD;
&lt;p&gt;b.如果是"w"字符太多，这说明CPU很繁忙，就绪队列中的进程数很多，这时如果你进入系统，可能会发现系统的负载（load average）很高。这时可以看看统计信息页面，是哪些请求使进程处于"w"状态，很可能是这些进程计算时间太长或程序有死循环，可以对程序进行改进。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rover/aggbug/1890906.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rover/archive/2010/11/29/apache_mod_status.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
