Time  Nick     Message
14:43 * cait   waves
17:50 magnuse  marcelr++ for bug 13438
17:50 huginn   04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13438 normal, P5 - low, ---, m.de.rooy, Needs Signoff , Convert normarc framework plugins to new style (see also 10480)
19:40 bag      hola
19:40 wahanui  kia ora, bag
20:00 * cait   waves
20:01 rangi    morning
20:01 cait     morning bag and rangi
20:04 tcohen   hi
20:06 cait     hi
20:06 wahanui  hey, cait
20:06 cait     :)
20:15 tcohen   hi cait
20:15 rangi    hi tcohen
20:16 tcohen   hey rangi
20:16 rangi    i've been experimenting with varnish
20:16 rangi    in front of the opac
20:16 tcohen   for caching stuff?
20:16 tcohen   statc content?
20:16 rangi    all of the js/css/images are cachecd
20:17 rangi    and so is opac-main.pl if the user is not logged in
20:17 rangi    it takes a lot of load off apache/plack
20:18 tcohen   you mean it w¡got worse?
20:18 rangi    nope
20:18 rangi    it means theres a bunch less requests that hit apache
20:18 rangi    varnish serves them from ram
20:18 tcohen   ah, idiomatic issue
20:18 rangi    you need nginx or something in front to do ssl termination
20:19 rangi    it's not a lot faster (it is faster but not a lot) than without vagrant
20:19 tcohen   rangi: is there still that google module for caching?
20:19 rangi    but it scales much higher
20:20 rangi    hmm?
20:20 tcohen   https://developers.google.com/speed/pagespeed/module/
20:20 rangi    basically vagrant respects the headers we put on stuff
20:21 rangi    it's a lot less 'magic' than that google stuff
20:21 rangi    and hence I actually trust it
20:21 rangi    (ie it wont cache stuff it shouldnt)
20:21 tcohen   we should set the right headers for static stuff anyway
20:22 rangi    we do
20:22 rangi    which means vagrant caches it
20:22 rangi    because browsers/proxies don't always behave how they should
20:22 tcohen   so the main advantage is that varnish caches pages
20:22 rangi    but it also means, if I hit it, then you hit it
20:22 rangi    varnish serves you the one from the cache, without bothering apache
20:23 rangi    yes
20:23 tcohen   interesting
20:23 wahanui  interesting is sometimes good and sometimes bad
20:23 rangi    you can just put it there, and do nothing
20:23 rangi    and it works by obeying the headers
20:24 rangi    or you can make it do more, it starts very conservative/safe which is a good default
20:24 rangi    trying out pagespeed would be good too, but its much less simple to understand :)
20:24 cait     hmmm
20:25 rangi    caching is like security, it's good in layers
20:29 tcohen   hehe
20:29 rangi    3.22.x is quite a bit faster with the caching work done, but if we are serving essentially static pages (like opac-main.pl before you login) we shouldn't even have to touch plack/apache if possible
20:29 tcohen   the good thing about pagespeed is that it shrinks images, and that kind of stuff, apart from the cche pthing
20:30 rangi    yep, we are doing that with mod_gzip etc already
20:30 rangi    but it still would be good to try
20:30 rangi    so for opac-main.pl if we did this
20:30 tcohen   it does so matching the pages styles
20:31 rangi    if user not logged in
20:31 rangi    print $data->header(
20:31 rangi    -expires         => '+30m',
20:32 rangi    then vagrant (and some browsers) would respect that, and not ask for the page again
20:32 rangi    if you wanted to be really tricky
20:32 rangi    can do
20:33 pastebot "rangi" at 127.0.0.1 pasted "caching stuff" (10 lines) at http://paste.koha-community.org/378
20:33 rangi    before the script does anything else
20:33 rangi    that says did the browser ask me for a last modified before
20:33 rangi    if so, and its less that my timeout
20:34 rangi    then hand them back a 304 (page not modified)
20:34 rangi    and exit
20:34 rangi    before it even runs the rest of the script
20:34 jcamins  FWIW, I found that using nginx for static files was only about 10% slower than Varnish under relatively low load, but I believe when you start increasing the load to high you'd start seeing performance benefits.
20:34 rangi    jcamins: yeah the trick is when you start caching the .pl files output where you can that you start getting the speed benefits too
20:35 rangi    otherwise you are right, it mostly helps with scaling
20:37 tcohen   rangi: i'll be looking forward to your results
20:37 tcohen   i trust nginx caching capabilities, still
20:38 jcamins  rangi: yeah, 304 support would be a pretty big win.
20:38 tcohen   cover images should support 304
20:38 tcohen   (and they don't)
20:40 rangi    they do now
20:40 rangi    well im testing it with one client
20:40 tcohen   rangi: i mean local cover images
20:40 rangi    [off] https://library.charteredaccountantsanz.com/whatsnew/#/all/  try that, then do a refresh
20:41 rangi    opac-image.pl does the 304 thing there
20:42 tcohen   not here!
20:42 tcohen   ah, status=200 but chrome says "From cache"
20:44 rangi    yep, what does firefox says
20:44 rangi    they both behave a bit differently i found
20:46 rangi    you can test with curl too
20:46 rangi    [off] curl -I --header 'If-Modified-Since: Mon, 04 Apr 2016' https://library.charteredaccountantsanz.com/cgi-bin/koha/opac-image.pl\?biblionumber\=85364\&thumbnail\=1
20:49 rangi    i love curl
21:02 bag      yeah we spent sometime looking at varnish too
21:04 * bag    thinks it’s time for a martini ;)  (I’ve got a brisket on the smoker since 7am (7 hours ago) )  should be ready in another 3~4 hours :)
21:05 cait     hm
21:05 cait     did someone try html5media by chance?
21:05 cait     i have problems to get it show up
21:06 rangi    not recently
21:07 * cait   tries some old sample records from the original bug
21:15 * tcohen feels like serving a chilled jaeger
21:17 * tcohen joins bag
21:18 * cait   has a ginger ale
21:19 tcohen   rangi: so the 304 for opac-image.pl is varnish's responsability
21:19 tcohen   ?
21:19 rangi    nope
21:19 rangi    that code i pasted before
21:19 tcohen   ah
21:19 rangi    http://paste.koha-community.org/378
21:19 rangi    varnish will of course respect that too
21:20 rangi    you have to make sure that it is setting a last modified too
21:21 rangi    -Last_Modified   => strftime('%a, %d %b %Y %H:%M:%S GMT', gmtime),
21:21 rangi    so that if it 200s it sets a last modified, so the browser can ask for that
21:21 rangi    make sense?
21:25 tcohen   it does
21:26 tcohen   i'm intrigued because I see a lot of time is spent on local images
21:26 rangi    cool
21:27 rangi    it still hits the perl, so has to do overhead of loading modules etc (if cgi) but doesn't have to fetch the image from the db, and return it etc
21:28 rangi    so if you are running cgi, its not going to be much faster for a single request
21:28 rangi    but if someone refreshes the page, thats 20 hits .. that will all be a little faster
21:29 rangi    and if you have something like varnish caching those images .. for a day or 2
21:29 rangi    then thats a massive improvement
21:29 rangi    once one person has seen them, they are cached for everyone
21:30 rangi    (until they login that is)
21:30 rangi    altho, probably could ignore the cookie on images .. and even return them for logged in users
21:30 rangi    something like
21:32 rangi    if (req.http.Content-Type ~ "image") {
21:32 rangi    unset.req.http.cookie;
21:32 rangi    }
21:32 rangi    (in the varnish config)
21:33 rangi    then varnish should cache it
21:33 rangi    ill try it after work tonight
21:39 tcohen   maybe we can teach apache/nginx some stuff are static content
21:40 rangi    hmm only the stuff that actually is :)
21:41 rangi    but yes it makes no sense to have plack hand out any static stuff
21:58 tcohen   rangi: interesting that no local-images == high latency due to the check
21:59 rangi    yep
22:04 tcohen   i bet checking local image existence in opac-search.pl and putting the URL on the template, would save at least a couple seconds to the end user
22:06 rangi    hmm?
22:07 rangi    maybe
22:07 rangi    or make the link be client side via js
22:08 tcohen   it is
22:08 rangi    then it wont slow the page load down
22:08 rangi    its a static link right? not an ajax one?
22:08 rangi    (you could make it fall back to static if people had js turned off too)
22:09 rangi    then it wont slow the page down
22:10 rangi    can do both of course but then opac-search.pl itself would be slower
22:12 rangi    do we link to the image even if local images are turned off?
22:12 rangi    cos doing that check in the template would be pretty easy eh?
22:13 rangi    i suspect that most people run with localimages off
22:14 rangi    yeah about 60% have the pref off, so checking that before putting the link in the template (if we dont alredy) would save 60% of the libraries a bunch of time
22:14 rangi    (60% of hea that is)
22:15 tcohen   yeah, that's why i put my libraries there
22:15 tcohen   :-d
22:15 tcohen   HEA++
22:15 tcohen   rangi, i leave a question for you
22:15 tcohen   how is plack related to files in /tmp ?
22:15 tcohen   it seems that some permission issues i've been sufffering running plack+3.22 in production are related to that
22:16 rangi    its not
22:16 rangi    but the fastmmap stuff is
22:16 rangi    (oh and sessions if you have sessions in tmp not mysql or memcache)
22:17 rangi    i have a site running plack both staff and opac and there is nothing in /tmp
22:17 rangi    https://obs.library.workbuffer.org/
22:18 rangi    running 3.22
23:13 talljoy  good day
23:13 talljoy  dani how goes round rock?
23:14 talljoy  dang it wrong channel again.  lol
23:14 talljoy  good day #koha
23:32 cait     hm'