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. rsync 使用小记

    工作中遇到了有关rsync使用的问题,在这里记录下供有同样需求的人参考一下 先说下环境 服务端配置 pid file = /rsyncdata/rsyncd.pid port = 873 addres ...

  2. GDKOI 游记

    Day 0 坐和谐号去广州 非常奇怪的一点是,每次坐车去广州人都很少,但是坐车回来人都贼多...... 到酒店住下,出去吃完晚饭,lmy开始奶:明天考数据结构啊! zkw:为什么不考AC自动机和插头D ...

  3. dockerfile 镜像构建

    1.镜像的构建有手动与自动方式,这里我们介绍自动化的构建方式 ,dockerfile常用指令如下 2.构建指令build Usage: docker image build [OPTIONS] PAT ...

  4. HDU 4328 Cut the cake

    Cut the cake Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  5. *UOJ#223. 【NOI2016】国王饮水记

    $n \leq 8000$的数列,问不超过$m \leq 1e9$次操作后第一个数字最大是多少.操作:选一些数,把他们变成他们的平均值.需要保留$p \leq 3000$位小数,提供了一个小数高精度库 ...

  6. JS - caller,callee,call,apply [transfer] aA ==> apply uses an array [] as the second argument. call uses different argument.

    在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arguments Arguments : 该对象代表正在执行的函数和调用它的函数的参数. [function.]argument ...

  7. java网络编程(二)

    客户端程序: package net; import java.io.OutputStream; import java.net.Socket; /** * Created by hu on 2015 ...

  8. [原创] 树莓派个人实测 Q&A(最新修改使用windows连接远程桌面)

    原文出处:http://www.eeboard.com/bbs/thread-5191-1-1.html 这篇帖子我打算用Q&A的方式来编写,这样大家更容易一目了然的看明整个帖子的内容,层次分 ...

  9. linux 多进程绑定问题

    硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同的 CPU (core) 处理显然能很好的平衡性能.现在的服务器上动不动就是多 CPU 多核. ...

  10. javascript 动态添加城市

    匿名函数的使用 createTextnode 创建文本 createElement   创建元素 appendChild     将文本或元素追加 <!DOCTYPE html> < ...