[Koha-devel] Koha performance enhancement overview
Ian Walls
koha.sekjal at gmail.com
Mon Apr 9 15:54:35 CEST 2012
Everyone,
I was doing some thinking this weekend about the overall goal of making
Koha perform faster. We're approaching this from several different angles,
so I thought it might be a good idea to come up with a summary of all the
various methods we could use to speed Koha up.
Tuning & Hardware (http://wiki.koha-community.org/wiki/Koha_Tuning_Guide)
- Hardware selection guide (how much CPU, RAM and disk to run Koha on)
- Tuning the operating system
- Tuning Apache
- Tuning MySQL
Performance tools
- Alternate, Persistent Perl interpreters, like Plack/PSGI or
mod_perl/FastCGI (http://wiki.koha-community.org/wiki/Plack)
- Alternate webservers like Nginx or Starman
- caching tools like memcached or T:T cache
Code cleanup
- Denesting dependencies
- Optimizing SQL queries
- Dual database handles (readonly, read/write)
- Simplifying code
- Minimizing XML parsing
Network latency
- AJAX calls for key functions like circ (cheaper to send/receive than
full page loads)
- Minifying JS and CSS (
http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=1918)
- CSS sprites (css-tricks.com/css-sprites/)
- caching some data client-side (like user preferences) in cookies or
localStorage
Ergonomics
- Fewer clicks to do common actions
- Display important info more prominently
- Preferences to customize to individuals' workflows
Now, here's the question: which of these techniques will net us the
biggest boosts for the least effort? We've got lots of great work on Plack
so far, but would figuring out the perfect MySQL tuning settings be easier
and give us a similar performance enhancement (I don't know, just using as
an example)? Some of these are of course inter-related; doing code cleanup
and denesting would make it easier to do AJAX calls or use mod_perl.
I should probably dump this into a wiki page, but I wanted to raise the
issue on-list first. Does anyone have any data that we could use to
determine what above is low-hanging fruit, or what will get the biggest
gains? We're lucky in this community in that we have many, many kinds of
expertise, so we're not limited to pursuing any one course at a time, but
having a coordinated effort would help us reap more tangible benefits
sooner.
Cheers,
-Ian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/koha-devel/attachments/20120409/3f18ae2b/attachment.htm>
More information about the Koha-devel
mailing list