Bugzilla – Attachment 3563 Details for
Bug 6019
Using memoize_memcached to cache slow subroutines
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed Patch
0001-Bug-6019-Adding-memoize_memcached-to-speed-up-perfor.patch (text/plain), 3.98 KB, created by
Chris Cormack
on 2011-03-31 02:34:56 UTC
(
hide
)
Description:
Proposed Patch
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2011-03-31 02:34:56 UTC
Size:
3.98 KB
patch
obsolete
>From 531e685706655795e4b8a6e19fb33232d48ef175 Mon Sep 17 00:00:00 2001 >From: Henri-Damien LAURENT <henridamien.laurent@biblibre.com> >Date: Mon, 12 Apr 2010 00:56:19 +0200 >Subject: [PATCH] Bug 6019 : Adding memoize_memcached to speed up performance > >perf enhancement Lyon3 >--- > C4/Biblio.pm | 5 ++++- > C4/Branch.pm | 16 ++++++++++++++++ > C4/Context.pm | 16 ++++++++++++++++ > C4/Koha.pm | 19 ++++++++++++++++++- > 4 files changed, 54 insertions(+), 2 deletions(-) > >diff --git a/C4/Biblio.pm b/C4/Biblio.pm >index a0e06f6..93dbb5c 100644 >--- a/C4/Biblio.pm >+++ b/C4/Biblio.pm >@@ -136,7 +136,10 @@ eval { > servers => [$servers], > key_prefix => C4::Context->config('memcached_namespace') || 'koha', > }; >- memoize_memcached( 'GetMarcStructure', memcached => $memcached, expire_time => 600 ); #cache for 10 minutes >+ memoize_memcached( 'GetMarcStructure', memcached => $memcached, expire_time => 60000 ); #cache for 1000 minutes >+ memoize_memcached( 'GetAuthorisedValueDesc', memcached => $memcached, expire_time => 60000 ); #cache for 1000 minutes >+ memoize_memcached( 'GetMarcFromKohaField', memcached => $memcached, expire_time => 60000 ); #cache for 1000 minutes >+ memoize_memcached( 'get_biblio_authorised_values', memcached => $memcached, expire_time => 60000 ); #cache for 1000 minutes > } > }; > >diff --git a/C4/Branch.pm b/C4/Branch.pm >index 1f26e35..f300ad5 100644 >--- a/C4/Branch.pm >+++ b/C4/Branch.pm >@@ -24,6 +24,22 @@ use C4::Koha; > > use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); > >+eval { >+ my $servers = C4::Context->config('memcached_servers'); >+ if ($servers) { >+ require Memoize::Memcached; >+ import Memoize::Memcached qw(memoize_memcached); >+ >+ my $memcached = { >+ servers => [ $servers ], >+ key_prefix => C4::Context->config('memcached_namespace') || 'koha', >+ }; >+ >+ memoize_memcached('GetBranches',memcached => $memcached, expire_time => 600000); >+ memoize_memcached('GetBranchName',memcached => $memcached, expire_time => 600000); >+ } >+}; >+ > BEGIN { > # set the version for version checking > $VERSION = 3.02; >diff --git a/C4/Context.pm b/C4/Context.pm >index 484d4e1..22cde8c 100644 >--- a/C4/Context.pm >+++ b/C4/Context.pm >@@ -20,6 +20,22 @@ use strict; > use warnings; > use vars qw($VERSION $AUTOLOAD $context @context_stack); > >+eval { >+ my $servers = C4::Context->config('memcached_servers'); >+ if ($servers) { >+ require Memoize::Memcached; >+ import Memoize::Memcached qw(memoize_memcached); >+ >+ my $memcached = { >+ servers => [ $servers ], >+ key_prefix => C4::Context->config('memcached_namespace') || 'koha', >+ }; >+ >+ memoize_memcached('preference', memcached => $memcached, expire_time => 600000); #cache for 10 minutes >+ memoize_memcached('marcfromkohafield', memcached => $memcached, expire_time => 600000); #cache for 10 minutes >+ } >+}; >+ > BEGIN { > if ($ENV{'HTTP_USER_AGENT'}) { > require CGI::Carp; >diff --git a/C4/Koha.pm b/C4/Koha.pm >index 0836669..7db2eb8 100644 >--- a/C4/Koha.pm >+++ b/C4/Koha.pm >@@ -73,7 +73,24 @@ BEGIN { > } > > # expensive functions >-memoize('GetAuthorisedValues'); >+ >+eval { >+ my $servers = C4::Context->config('memcached_servers'); >+ if ($servers) { >+ require Memoize::Memcached; >+ import Memoize::Memcached qw(memoize_memcached); >+ >+ my $memcached = { >+ servers => [ $servers ], >+ key_prefix => C4::Context->config('memcached_namespace') || 'koha', >+ }; >+ >+ memoize_memcached('GetKohaAuthorisedValues',memcached => $memcached, expire_time => 600000); >+ memoize_memcached('GetAuthorisedValues',memcached => $memcached, expire_time => 600000); >+ memoize_memcached('GetItemTypes',memcached => $memcached, expire_time => 600000); >+ memoize_memcached('getitemtypeimagelocation',memcached => $memcached, expire_time => 600000); >+ } >+}; > > =head1 NAME > >-- >1.7.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 6019
: 3563 |
3564