| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 
							- By Khalid Baheyeldin
 
- Copyright 2008 http://2bits.com
 
- Description
 
- -----------
 
- This module provides performance statistics logging for a site, such as page
 
- generation times, and memory usage, for each page load.
 
- This module is useful for developers and site administrators alike to identify
 
- pages that are slow to generate or use excessive memory.
 
- Features include:
 
- * Settings to enable detailed logging or summary logging. The module defaults to
 
-   no logging at all.
 
- * Detailed logging causes one database row to be written for each page load of
 
-   the site. The data includes page generation time in milliseconds, and the
 
-   number of bytes allocated to PHP, time stamp, etc.
 
- * Summary logging logs the average and maximum page generation time, average and
 
-   maximum memory usage, last access time, and number of accesses for each path.
 
- * Summary can be logged to any cache for which a Drupal caching module is
 
-   available that transparently integrates with the drupal cache layer. Some
 
-   examples:
 
-     http://drupal.org/project/apc
 
-     http://drupal.org/project/memcache
 
-     http://drupal.org/project/filecache
 
- * A settings option is available when using summary mode, to exclude
 
-   pages with less than a certain number of accesses. Useful for large sites.
 
- * Support for normal page cache.
 
- Note that detailed logging is only suitable for a site that is in development or
 
- testing. Do NOT enable detailed logging on a live site.
 
- The memory measurement feature of this module depends on the
 
- memory_get_peak_usage() function, available only in PHP 5.2.x or later.
 
- Only summary logging with Memcache, APC or similar mechanisms are the
 
- recommended mode for live sites, with a threshold of 2 or more.
 
- Note on Completeness:
 
- ---------------------
 
- Please note that when summary logging to APC or Memcache, the data captured in
 
- the summary will not be comprehensive reflecting every single page view for
 
- every URL.
 
- The reason for this is that there is no atomic locking when updating the data
 
- structures that store per-URL statistics in this module.
 
- This means that the values you get when using these storage caches are only
 
- samples, and would miss some page views, depending on how busy the site is.
 
- For memcache, there is way to implement locking using the $mc->increment and/or
 
- $mc->add as well. However, there is a risk if these are implemented, that there
 
- will be less concurrency and we can cause a site to slow down.
 
- Configuration:
 
- --------------
 
- To configure the Performance Logging and Monitoring module, navigate to
 
- /admin/config/development/performance-logging. By default, this module creates a
 
- key for each entry based off of the hostname of the site being accessed. If you
 
- have a site with multiple domains, it is recommended to specify a shared key
 
- between all sites in your settings.php file:
 
-   $conf['performance_key'] = 'example_key';
 
- If you are using memcache, then you need to configure an extra bin for
 
- performance. If you have multiple web server boxes, then it is best to
 
- centralize this bin for all the boxes, so you get combined statistics.
 
- Your settings.php looks like this:
 
-   $conf['cache_backends'][] = './sites/all/modules/memcache/memcache.inc';
 
-   $conf['cache_default_class'] = 'MemCacheDrupal';
 
-   // Prevent special cache_form bin from being assigned to a volatile cache
 
-   // storage implementation
 
-   $conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
 
-   $conf['memcache_servers'] = array(
 
-     '127.0.0.1:11211' => 'default',
 
-     // More bins here ....
 
-     '127.0.0.1:11311' => 'performance',
 
-   );
 
-   $conf['memcache_bins'] = array(
 
-     'cache_performance' => 'performance',
 
-   );
 
- Note that since version 2.x, you can use any Drupal caching module available
 
- that transparently integrates with the drupal cache layer (like the apc or
 
- filecache modules).
 
- Statistics:
 
- -----------
 
- You can view the recorded performance statistics (summary and details) at
 
- /admin/reports/performance-logging
 
- Drush support
 
- -------------
 
- Drush support has been integrated as well. You can check the summary and detail
 
- logs using the performance-summary (aliased as perf-sm) and performance-detail
 
- (aliased as perf-dt) commands. Some examples:
 
-   Retrieve last 15 entries from the detail log:
 
-     drush performance-detail 15
 
-   Retrieve last 20 summary log entries sorted by the number of queries,
 
-   descending:
 
-     drush performance-summary 20 query_count
 
-   Retrieve last 35 entries from the detail log sorted by size, ascending:
 
-     drush performance-detail 35 bytes asc
 
- Use drush perf-sm --help or drush perf-dt --help to see a full explanation.
 
- Bugs/Features/Patches:
 
- ----------------------
 
- If you want to report bugs, feature requests, or submit a patch, please do so at
 
- the project page on the Drupal web site at http://drupal.org/project/performance
 
- Author
 
- ------
 
- Khalid Baheyeldin (http://baheyeldin.com/khalid and http://2bits.com)
 
- If you use this module, find it useful, and want to send the author a thank you
 
- note, then use the Feedback/Contact page at the URL above.
 
- The author can also be contacted for paid customizations of this and other
 
- modules.
 
 
  |