]> git.mxchange.org Git - quix0rs-gnu-social.git/commit
Performance counters: records number of total and unique cache get/set/incr/deletes...
authorBrion Vibber <brion@pobox.com>
Mon, 31 Jan 2011 21:12:56 +0000 (13:12 -0800)
committerBrion Vibber <brion@pobox.com>
Mon, 31 Jan 2011 21:12:56 +0000 (13:12 -0800)
commitde7726dd0037ea3cee91bf64162fc8b19853ec7a
treed7d73b4bdc24909d8035bed572f0a9950f3b8457
parentb896a37da0b2ce78802c3e0007084fe739b2ba0d
Performance counters: records number of total and unique cache get/set/incr/deletes and queries, and logs to syslog.

$config['site']['logperf'] = true; // to record & dump total hits of each type and the runtime to syslog
$config['site']['logperf_detail'] = true; // very verbose -- dump the individual cache keys and queries as they get used (may contain private info in some queries)

Seeing 180 cache gets on a timeline page seems not unusual currently; since these run in serial, even relatively small roundtrip times can add up heavily.
We should consider ways to reduce the number of round trips, such as more frequently storing compound objects or the output of processing in memcached.
Doing parallel multi-key lookups could also help by collapsing round-trip times, but might not be easy to fit into SN's object model. (For things like streams this should actually work pretty well -- grab the list, then when it's returned go grab all the individual items in parallel and return the list)
classes/Memcached_DataObject.php
index.php
lib/cache.php
lib/default.php
lib/util.php