You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Peter Phaal <pe...@gmail.com> on 2011/02/18 21:19:43 UTC

[users@httpd] Apache performance metrics

Hi all,

Currently Apache doesn't maintain any standard performance counters
that could be used to monitor overall workloads.

Other application platforms, for example Memcached, maintain a
standard set of performance metrics that can be remotely retrieved for
performance monitoring. mod-sflow provides similar functionality for
Apache, maintaining a standard set of counters that can be used to
monitor web server performance with tools like Ganglia and Cacti:

http://code.google.com/p/mod-sflow/

For anyone wanting to try out mod-sflow, detailed instructions and
examples are provided in the following article:

http://blog.sflow.com/2011/01/http.html

Currently, mod-sflow maintains the following set of counters:

  int method_option_count;
  int method_get_count;
  int method_head_count;
  int method_post_count;
  int method_put_count;
  int method_delete_count;
  int method_trace_count;
  int methd_connect_count;
  int method_other_count;
  int status_1XX_count;
  int status_2XX_count;
  int status_3XX_count;
  int status_4XX_count;
  int status_5XX_count;
  int status_other_count;

The goal in defining this set was to create counters based on the HTTP
protocol that could be implemented by any HTTP entity (server, proxy,
cache, load balancer etc.). Are there any other suggestions for useful
counters?

In addition to maintaining and exporting counters, mod-sflow provides
an alternative request logging mechanism that involves randomly
sampling requests and sending the results over UDP to a remote
collector. Random sampling significantly reduces the overhead of
logging in high traffic environments, providing a scalable performance
monitoring solution for large Apache clusters.

Currently, the following request attributes are exported:

  http_method method;     /* method */
  unsigned int protocol;     /* e.g. 1001 => http1.1 */
  string<255> uri;               /* URI exactly as it came from the client */
  string<32> host;              /* Host value from request header */
  string<255> referer;       /* Referer value from request header */
  string<64> useragent;   /* User-Agent value from request header */
  string<32> authuser;     /* RFC 1413 identity of user*/
  string<32> mimetype;   /* Mime-Type */
  unsigned int bytes;       /* content-length of document transferred */
  unsigned int uS;            /* duration of the operation (microseconds) */
  int status;                        /* HTTP status code */

Again, the goal is to create a portable set of attributes that apply
to any HTTP entity.

An effort to standardize the HTTP metrics is taking place on the
sFlow.org mailing list:

http://www.sflow.org/discussion/index.php

Input from the Apache community would be most welcome.

Thanks,
Peter

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Apache performance metrics

Posted by Igor Galić <i....@brainsware.org>.

----- Original Message -----
> Hi all,
> 
> Currently Apache doesn't maintain any standard performance counters
> that could be used to monitor overall workloads.
> 
> Other application platforms, for example Memcached, maintain a
> standard set of performance metrics that can be remotely retrieved
> for
> performance monitoring. mod-sflow provides similar functionality for
> Apache, maintaining a standard set of counters that can be used to
> monitor web server performance with tools like Ganglia and Cacti:

W00t! awesome idea

> http://code.google.com/p/mod-sflow/

Looking at the source code right away :)

> For anyone wanting to try out mod-sflow, detailed instructions and
> examples are provided in the following article:
> 
> http://blog.sflow.com/2011/01/http.html
> 
> Currently, mod-sflow maintains the following set of counters:
> 
>   int method_option_count;
>   int method_get_count;
>   int method_head_count;
>   int method_post_count;
>   int method_put_count;
>   int method_delete_count;
>   int method_trace_count;
>   int methd_connect_count;
>   int method_other_count;
>   int status_1XX_count;
>   int status_2XX_count;
>   int status_3XX_count;
>   int status_4XX_count;
>   int status_5XX_count;
>   int status_other_count;
> 
> The goal in defining this set was to create counters based on the
> HTTP
> protocol that could be implemented by any HTTP entity (server, proxy,
> cache, load balancer etc.). Are there any other suggestions for
> useful
> counters?
> 
> In addition to maintaining and exporting counters, mod-sflow provides
> an alternative request logging mechanism that involves randomly
> sampling requests and sending the results over UDP to a remote
> collector. Random sampling significantly reduces the overhead of
> logging in high traffic environments, providing a scalable
> performance
> monitoring solution for large Apache clusters.
> 
> Currently, the following request attributes are exported:
> 
>   http_method method;     /* method */
>   unsigned int protocol;     /* e.g. 1001 => http1.1 */
>   string<255> uri;               /* URI exactly as it came from the
>   client */
>   string<32> host;              /* Host value from request header */
>   string<255> referer;       /* Referer value from request header */
>   string<64> useragent;   /* User-Agent value from request header */
>   string<32> authuser;     /* RFC 1413 identity of user*/
>   string<32> mimetype;   /* Mime-Type */
>   unsigned int bytes;       /* content-length of document transferred
>   */
>   unsigned int uS;            /* duration of the operation
>   (microseconds) */
>   int status;                        /* HTTP status code */
> 
> Again, the goal is to create a portable set of attributes that apply
> to any HTTP entity.
> 
> An effort to standardize the HTTP metrics is taking place on the
> sFlow.org mailing list:
> 
> http://www.sflow.org/discussion/index.php
> 
> Input from the Apache community would be most welcome.
> 
> Thanks,
> Peter
> 
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server
> Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>    "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
> 
> 

-- 
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org