Testing Koha with memcached

Ive been doing some work rewriting some of the scripts in Koha to use memcached where possible.

Heres some loadtesting on opac-main.pl using straight CGI and no caching.


Maximum connect burst length: 1
Total: connections 20 requests 20 replies 20 test-duration 39.896 s
Connection rate: 0.5 conn/s (1994.8 ms/conn, <=20 concurrent connections)
Connection time [ms]: min 35438.7 avg 37343.4 max 39782.2 median 36828.5 stddev 1409.9
Connection time [ms]: connect 0.9
Connection length [replies/conn]: 1.000
Request rate: 0.5 req/s (1994.8 ms/req)
Request size [B]: 64.0
Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (7 samples)
Reply time [ms]: response 37135.8 transfer 206.7
Reply size [B]: header 167.0 content 1156.0 footer 2.0 (total 1325.0)
Reply status: 1xx=0 2xx=20 3xx=0 4xx=0 5xx=0
CPU time [s]: user 3.82 system 15.69 (user 9.6% system 39.3% total 48.9%)
Net I/O: 0.7 KB/s (0.0*10^6 bps)

Heres some with caching switched on

Total: connections 100 requests 94 replies 94 test-duration 24.899 s
Connection rate: 4.0 conn/s (249.0 ms/conn, <=7 concurrent connections)
Connection time [ms]: min 90.9 avg 142.9 max 265.7 median 144.5 stddev 37.1
Connection time [ms]: connect 1.4
Connection length [replies/conn]: 1.000
Request rate: 3.8 req/s (264.9 ms/req)
Request size [B]: 64.0
Reply rate [replies/s]: min 0.0 avg 4.7 max 9.6 stddev 5.4 (4 samples)
Reply time [ms]: response 136.7 transfer 4.9
Reply size [B]: header 186.0 content 5847.0 footer 1.0 (total 6034.0)
Reply status: 1xx=0 2xx=94 3xx=0 4xx=0 5xx=0
CPU time [s]: user 8.53 system 14.22 (user 34.3% system 57.1% total 91.4%)
Net I/O: 22.5 KB/s (0.2*10^6 bps)

So without using the cache we were getting an average of 37343.4 milliseconds to reply. With the cache on that drops to 147.9 … which is a fairly serious saving. This is of course when the machine is under load. If we just run some basic curl tests
Without cache
time curl http://203.97.214.51:8080/
real    0m2.167s

With cache
real 0m0.105s

So that matches up with what we saw with the load testing

We cant of course cache this page if the user is logged in, but thats fairly easy to handle, just check if the user is logged in, if not, use the cache.
In the librarian interface there are significant sections of a lot of pages that change very infrequently where we could win a lot with some caching.
I’ve created a branch and will work in it some more, and also make it publicly available so others can test.

A fun but tiring weekend

This weekend we were babysitting Paretao, an 8 year old girl with a bunch of energy. Luckily Kahurangi loves her.

Paretao and Kahu

We went to the Mall and shopped for Jewelery for like 7000 million hours (Thats what it felt like to Kahu and I). Then Laurel and Kahurangi shopped some more while Paretao and I went to see Horton Hears a Who.

We also ate way too much icecream.

The next day we went to Te Papa (the museum) and tried to look at everything all at once. By the end of the weekend, both Kahurangi and I were tired out.

Tired

Creating a Programmers manual for Koha 3

Using the neat little module Pod::Manual I whacked up a quick script to combine all the man pages for koha into 1, then output it as docbook (xml not sgml).


#!/usr/bin/perl
use Pod::Manual;
my $manual = Pod::Manual->new({ title => 'C4 Manual'});
my $path = $ARGV[0];
my @chapters = <$path/*>;
foreach $chapter (@chapters){
$chapter =~ s/$path///;
$chapter =~ s/.3pm//;
eval {$manual->add_chapter ($chapter);};
}
print $manual->as_docbook();

I then used the dblatex tools to convert it to pdf.
./manual.pl /path/to/man/files > file.xml
dblatex -tpdf file.xml

What a dick!

So it’s my first arsehat in a while. But a deserved one, how would you like to wake up in the morning, look at the paper and see this headline on the front page. “Pacific migrants ‘drain on economy'”.

Lovely, reading the article its full of gems like
“Of particular concern is the large Polynesian subculture whose educational achievements mean they will contribute very poorly in this regard,” Dr Clydesdale says.

“And because of high fertility and current immigration levels, New Zealand will have a significant population that can contribute little to economic growth.”

Lovely, lets just generalise a huge disparate group of people based solely on the geographic area they are from. I hope he puts out a paper on the land stealing tendencies of European immigrants next.

What happens when Kahu and Chris are home alone

So this weekend Laurel was teaching which meant Kahurangi and I had the weekend to chill out together.

On Saturday we had a pretty lazy day, one of the fun things that happened was when I was shaving I cut myself (not uncommon) So did the old tissue paper to stop the bleeding trick. As it was just Kahu and I at home I had him the bathroom with me while I was shaving. He’s at the age where he mimics most anything he sees, I didn’t notice at the time but when we got back in the lounge I noticed something different about his face. Check out this photo.

At least he didn’t mimic the cutting part.

On Sunday we went to the Zoo with the grandparents, then to a greek cafe and then shopping at the
Mediterranean food warehouse, as well as at the new Arabian food store. Kahurangi charmed his way into a free orange juice at the Arabian store.

All in all a tiring weekend but a fun one.