apache的mod_status模块,提供了对apache运行时的一些统计信息,对apache的管理员来说很有意义。

一.加载apache的mod_status模块

各种系统下,加载apache模块的方法不同,以ubuntu linux为例,如果使用在线安装的apache包,加载mod_status方法如下:

a2enmod status

二.配置apache

###apache2.conf###

<Location /visitname>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from all
</Location>

###############

三.查看apache状态信息报告页面

重启apache或重新载入apahce配置文件之后,即生效。此时可用 http://yourdomain/visitname访问,查看apache运行信息。

1.<Location /visitname>这里的visitname是可以自己取的名字,可随意修改成你自己想要的字符串,只要在访问URL中使用你取的名字就可以了。

2.http://yourdomain/visitname后面可加两个参数,可一起加

a.页面信息自动更新 http://yourdomain/visitname?refresh=3 [每三秒自动更新一次页面信息]

b.机器可读格式的信息页面 http://yourdomain/visitname?auto

3.打开更多有关apache的状态信息

在apache2.conf中,多加一句配置信息

###apache2.conf###

ExtendedStatus On

##############

四.数据分析

先看apache mod_status的部分统计信息

####################################

Apache Server Status for www.test.com

Server Version: Apache/2.2.16  mod_ssl/2.2.16 OpenSSL/0.9.8o Server Built: Sep 8 2010 12:52:08


Current Time: Monday, 29-Nov-2010 12:31:14 CST Restart Time: Monday, 29-Nov-2010 11:33:33 CST Parent Server Generation: 3 Server uptime: 57 minutes 40 seconds Total accesses: 8596 - Total Traffic: 29.2 MB CPU Usage: u1.62 s9.43 cu0 cs0 - .319% CPU load 2.48 requests/sec - 8.7 kB/second - 3565 B/request 111 requests currently being processed, 0 idle workers

Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
0-3 32178 0/2/16 W 0.05 2456 0 0.0 0.00 0.02 60.28.164.103 www.test.com GET /indexTarget.do?channel=1064&content=20444&id=1&number=1000
1-3 32682 0/19/75 W 0.02 1994 0 0.0 0.08 0.22 60.28.164.103 www.test.com GET /indexTarget.do?channel=1064&content=20040 HTTP/1.0

####################################

1.Scoreboard中的每个字符代表一个slot,字符总数代表apache所充许的最大子进程或线程(是进程还是线程这取决于你所使用的apache MPM是什么)数。

我经常参考的数据有两种:

a.如果这些字符中基乎没有"."了,这说明apache配置的MaxClients数量不够用了,要根据你的硬件资源(通常是RAM资源)情况决定是否调大这个数值。

b.如果是"w"字符太多,这说明CPU很繁忙,就绪队列中的进程数很多,这时如果你进入系统,可能会发现系统的负载(load average)很高。这时可以看看统计信息页面,是哪些请求使进程处于"w"状态,很可能是这些进程计算时间太长或程序有死循环,可以对程序进行改进。

通过apache的mod_status 统计占资源的脚本的更多相关文章

  1. 使用 Ansible 统计服务器资源利用率

    使用 Ansible 统计服务器资源利用率: 3 条 shell 脚本实现统计: CPU 利用率统计: top -bn1 | grep load | awk '{printf "CPU Lo ...

  2. ns统计使用资源的SNMP OID

    ns统计使用资源的SNMP OID > add snmp manager 192.168.195.1 > add snmp community public ALL > add sn ...

  3. (转) Nova是如何统计OpenStack资源

    引言 运维的同事常常遇到这么四个问题: Nova 如何统计 OpenStack 计算资源? 为什么 free_ram_mb, free_disk_gb 有时会是负数? 即使 free_ram_mb, ...

  4. Nova 如何统计 OpenStack 资源

    1.云计算的本质在于将硬件资源软件化,以达到快速按需交付的效果,最基本的计算.存储和网络基础元素并没有因此改变.就计算而言,CPU.RAM 和 DISK等依旧是必不可少的核心资源. 从源代码和数据库相 ...

  5. 小白读iOS冗余资源扫描脚本

    随着公司项目的不断功能迭代,项目的体积越来越大,各种瘦身策略迫在眉睫.由于平时使用Linux高级命令和 shell脚本的机会不多,之前学的知识一下子想起来很难.所有趁着这次看脚本,重新温习一下. 本文 ...

  6. iOS项目冗余资源扫描脚本

    iOS项目冗余资源扫描脚本 随着iOS项目的版本不断迭代,app中冗余文件会越来越多,app size也持续增加,是时候需要对app冗余资源进行检测,对app进行瘦身. 使用方法: 1. 运行环境为m ...

  7. Nginx技巧——Nginx/Apache下禁止指定目录运行PHP脚本(转自运维之美)

    网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率. 下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限. ...

  8. MySql 简单统计查询消耗时间脚本

    MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...

  9. apache如何解决跨域资源访问

    很多时候,大中型网站为了静态资源分布式部署,加快访问速度,减轻主站压力,会把静态资源(例如字体文件.图片等)放在独立服务器或者CDN上,并且使用独立的资源域名(例如res.test.com) 但是在实 ...

随机推荐

  1. POJ 2983:Is the Information Reliable?(差分约束)

    题目大意:有n个点在一条直线上,有两类关系:P(x,y,v)表示x在y北边v距离处,V(x,y)表示x在y北边至少1距离出,给出一些这样的关系,判断是否有矛盾. 分析: 差分约束模板题,约束条件P:a ...

  2. 刷题总结—— Scout YYF I(poj3744 矩阵快速幂+概率dp)

    题目: Description YYF is a couragous scout. Now he is on a dangerous mission which is to penetrate int ...

  3. Robot Framework通过Python SMTP进行email收发测试。

    工作中需要对发送的邮件进行过滤,方法基本属于ACL控制,即查看“源/目的”邮件地址,邮件标题,邮件正文,邮件附件等进行过滤. 所以需要先模拟一下用Python能否达到邮件Client,Server的功 ...

  4. Codeforces Round #316 (Div. 2) C 思路/模拟

    C. Replacement time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  5. HDU 5696 RMQ+滑窗

    区间的价值 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  6. 星际战争(bzoj 3993)

    Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机 ...

  7. 【原创】datalist repeater 控件的行鼠标单击 以及 滑过特效

    原文发布时间为:2009-05-06 -- 来源于本人的百度文章 [由搬家工具导入] 调用方法如:<tr id="<%# Container.ItemIndex+1 %>& ...

  8. hdu 1395(欧拉函数)

    2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  9. 【转】awk的使用及字符串的操作

    awk教程 转载[awk的使用及字符串的操作] sed版: sed '1~2d' file #删除奇数行 sed '1~2!d' file #删除偶数行 awk版: awk 'NR%2==0' fil ...

  10. CSU 1777: 大还是小?【模拟/后导0】

    293419 roniking 1777 Accepted 2032 0 C++ 2000 2018-04-03 19:21:25 Description 输入两个实数,判断第一个数大,第二个数大还是 ...