-
Bug
-
Resolution: Fixed
-
Minor
-
2.7.7, 2.8.5
-
MOODLE_27_STABLE, MOODLE_28_STABLE
-
MOODLE_27_STABLE, MOODLE_28_STABLE, MOODLE_29_STABLE
-
patch-1
-
Easy
-
We're still working out how best to configure all of the various cache definitions, and I've been looking at how frequently the various cache definitions are purged in a production environment.
When a cache definition is on a memcached server shared with other definitions, purging one definition will purge the others as well, as Memcached can't segregate the various definitions.
It seems the coursecontacts cache regularly purges itself, even though it seems to have fairly simple keys.
The code (/lib/coursecatlib.php @ ~713-718 in 2.8.5) looks like this:
$cacheddata = $cache->get_many(array_merge(array('basic'), array_keys($courses)));
|
if (...) {
|
$cache->purge();
|
$cache->set('basic', ...
|
}
|
It seems the keys are all course ids (and 'basic') - so purging a list of course IDs would seem to make more sense, to prevent the purge?
$cacheddata = $cache->get_many(array_merge(array('basic'), array_keys($courses)));
|
if (...) {
|
$cache->delete_many($DB->get_fieldset_select('course', 'id', ''));
|
$cache->set('basic', ...
|
}
|
- caused a regression
-
MDL-50909 MDL-49489 Causes severe performance degradation of course index and search pages
- Closed
- has a non-specific relationship to
-
MDL-38596 Create function to preload course contacts for the group of courses
- Closed
- will be (partly) resolved by
-
MDL-45375 Allow multiple MUC instances on one memcached server using cachestore_memcache
- Closed
-
MDL-48506 Improve memcached cache store so that it is multi-site safe
- Closed
- will help resolve
-
MDL-48166 Major performance issue when editing course categories or courses
- Closed