1. 在Linux下查看Apache的负载情况,以前也说过,最简单有有效的方式就是查看Apache Server Status(如何开启Apache Server Status点这里),在没有开启Apache Server Status的情况下,或安装的是其他的Web Server,比如Nginx的时候,下面的命令就体现出作用了。  
  2.  
  3. ps -ef|grep httpd|wc -l命令  
  4. #ps -ef|grep httpd|wc -l  
  5. 1388  
  6. 统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。  
  7. 表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整,我这组服务器中每台的峰值曾达到过2002。  
  8.  
  9. netstat -nat|grep -i “80″|wc -l命令  
  10. #netstat -nat|grep -i “80″|wc -l  
  11. 4341  
  12. netstat -an会打印系统当前网络链接状态,而grep -i “80″是用来提取与80端口有关的连接的, wc -l进行连接数统计。  
  13. 最终返回的数字就是当前所有80端口的请求总数。  
  14.  
  15. netstat -na|grep ESTABLISHED|wc -l命令  
  16. #netstat -na|grep ESTABLISHED|wc -l         ---------个人测试此命令比较准确  
  17. 376  
  18. netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。  
  19. 最终返回的数字就是当前所有80端口的已建立连接的总数。  
  20.  
  21. netstat -nat||grep ESTABLISHED|wc -   可查看所有建立连接的详细记录  
  22.  
  23. 查看Apache的并发请求数及其TCP连接状态:  
  24.   Linux命令:  
  25. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
  26.  
  27.   (这条语句是从 新浪互动社区事业部 新浪互动社区事业部技术总监王老大那儿获得的,非常不错)  
  28.   返回结果示例:  
  29.   LAST_ACK 5  
  30.   SYN_RECV 30  
  31.   ESTABLISHED 1597  
  32.   FIN_WAIT1 51  
  33.   FIN_WAIT2 504  
  34.   TIME_WAIT 1057  
  35.   其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理  
  36. 完毕,等待超时结束的请求数。  
  37.  
  38. ----------------------------------------------打开Apache Server Status  
  39.  
  40. Apache的日志又多又杂,如果靠分析日志或者查看服务器进程来监视Apache运行状态的话,比较繁冗。其实在Apache 1.3.2及以后的版本中就自带一个查看Apache状态的功能模块server-status  
  41.  
  42. 打开Apache Server Status  
  43. 如果你的Apache配置文件httpd.conf或者extra/httpd-info.conf中有LoadModule status_module modules/mod_status.so话,说明你的Apache已经加载了此模块;或者编译的时候加上了–enable-module=so也表明服务器支持server-status。  
  44.  
  45. 如果Apache没有加载这个模块,如果是linux服务器,就得重新编译Apache,加上–enable-module=so参数即可;如果你是windows系统的话,无需任何编译,只要把刚才时候说的LoadModule status_module modules/mod_status.so这句加上,如果前面有带#号,开启的话,需要将#去除。  
  46.  
  47. 配置Apache Server Status  
  48. <location /c-server-status>  
  49.    SetHandler server-status  
  50.    Order Deny,Allow  
  51.    Deny from all 
  52.    Allow from 192.168.200.75[客户端]  
  53. </location>  
  54. ExtendedStatus On 
  55.  
  56. 这是一个完整的server-status的配置。  
  57. 第一行的ccvita-server-status表示以后可以用类似http://www.ccvita.com/c-server-status来访问,同时  
  58. http://www.ccvita.com/c-server-status?refresh=N将表示访问状态页面可以每N秒自动刷新一次;  
  59. Deny from表示禁止的访问地址,如果访问报错可将此行注释,但是安全性会降低;  
  60. Allow from表示允许的地址访问。这里应该写允许的客户端IP,似乎不应该是域名比如window:192.168.200.75;  
  61. ExtendedStatus On表示的是待会访问的时候能看到详细的请求信息,另外该设置仅能用于全局设置,不能在特定的虚拟主机中打开或关闭。启用扩展状态信息将会导致服务器运行效率降低。  
  62.  
  63. Apache Server Status for localhost  
  64.  
  65. Server Version: Apache/2.2.4 (Win32) PHP/5.1.4  
  66. Server Built: Jan 9 2007 23:17:20  
  67.  
  68. Current Time: Sunday, 16-Aug-2009 12:13:12 中国标准时间  
  69. Restart Time: Sunday, 16-Aug-2009 09:52:16 中国标准时间  
  70. Parent Server Generation: 2  
  71. Server uptime: 2 hours 20 minutes 56 seconds  
  72. Total accesses: 3 - Total Traffic: 0 kB  
  73. .000355 requests/sec - 0 B/second - 0 B/request  
  74. 1 requests currently being processed, 249 idle workers  
  75.  
  76. ________________________________________________________________  
  77.  
  78. ______________________________________________________W___......  
  79.  
  80. ................................................................  
  81.  
  82. ................................................................  
  83.  
  84.  
  85. Scoreboard Key:  
  86. "_ " Waiting for Connection"S " Starting up, "R " Reading Request,  
  87. "W " Sending Reply, "K " Keepalive (read), "D " DNS Lookup,  
  88. "C " Closing connection"L " Logging, "G " Gracefully finishing,  
  89. "I " Idle cleanup of worker, ". " Open slot with no current process  
  90.  
  91. Srv     PID     Acc     M   SS  Req     Conn    Child   Slot    Client  VHost   Request  
  92. 0-2     4396    3/3/3   W   0   0   0.4     0.00    0.00    127.0.0.1   localhost   GET /ccvita-server-status HTTP/1.1  
  93. Srv     Child Server number - generation  
  94. PID     OS process ID  
  95. Acc     Number of accesses this connection / this child / this slot  
  96. M   Mode of operation  
  97. SS  Seconds since beginning of most recent request  
  98. Req     Milliseconds required to process most recent request  
  99. Conn    Kilobytes transferred this connection 
  100. Child   Megabytes transferred this child  
  101. Slot    Total megabytes transferred this slot