httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Phaal <peter.ph...@gmail.com>
Subject [users@httpd] Apache performance metrics
Date Fri, 18 Feb 2011 20:19:43 GMT
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


Mime
View raw message