FINAL suepr merge step : added all modules to this super repos
This commit is contained in:
132
sites/all/modules/contrib/dev/performance/README.txt
Normal file
132
sites/all/modules/contrib/dev/performance/README.txt
Normal file
@@ -0,0 +1,132 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user