[OPEN-ILS-DEV] Mobius Carousel - reducing number of requests?
Blake Henderson
blake at mobiusconsortium.org
Tue Oct 16 15:06:59 EDT 2018
Thanks Josh!
I will have to take a look at this when I get a chance. It sounds like
you are doing some good stuff here. Hopefully those that have chosen to
integrate the carousel can also benefit. I will merge the branch when I
have the time to devote to it.
-Blake-
Conducting Magic
MOBIUS
On 10/16/2018 9:57 AM, Josh Stompro wrote:
>
> Blake, I found that duplicate records in the title bucket will break
> the carousel with my changes. I think that may be because
> open-ils.search.biblio.record.mods_slim.retrieve must not return
> duplicates. Or maybe it is because I create a hash based off the
> bibid to store the ordering? That isn’t a deal breaker for us, since
> I didn’t intend to have duplicates in the lists, they were just there
> by mistake. But it probably shouldn’t break because of that. So I’ll
> look into that.
>
> I also was happy to find that there are options to allow wrapping of
> the carousel, so once you get to the end it starts again at the
> beginning, along with autoscrolling to new items get shown ever x seconds.
>
> Adding the following to the .jcarousel config enables those
>
> wrap: ‘both’,
>
> auto: 9,
>
> The next step to make it load even faster would be to cache the
> open-ils.search.biblio.record.mods_slim.retrieve results somehow. For
> our new arrival list, it takes our system 3219ms to generate that for
> 200 titles.
>
> Josh Stompro - LARL IT Director
>
> *From:*Open-ils-dev <open-ils-dev-bounces at list.georgialibraries.org>
> *On Behalf Of *Josh Stompro
> *Sent:* Saturday, October 13, 2018 4:50 PM
> *To:* Evergreen Development Discussion List
> <open-ils-dev at list.georgialibraries.org>
> *Subject:* Re: [OPEN-ILS-DEV] Mobius Carousel - reducing number of
> requests?
>
> Blake, I sent you a pull request with the changes.
>
> https://github.com/mcoia/mobius_evergreen/pull/3/commits/9e6de7dd80f182488012b64fa8311162ed433e6b
>
> I did get the ordering to work, but I’m not sure I did it in the most
> efficient manner.
>
> Josh
>
> *From:*Open-ils-dev <open-ils-dev-bounces at list.georgialibraries.org
> <mailto:open-ils-dev-bounces at list.georgialibraries.org>> *On Behalf Of
> *Blake Henderson
> *Sent:* Saturday, October 13, 2018 4:11 PM
> *To:* open-ils-dev at list.georgialibraries.org
> <mailto:open-ils-dev at list.georgialibraries.org>
> *Subject:* Re: [OPEN-ILS-DEV] Mobius Carousel - reducing number of
> requests?
>
> Josh,
>
> Great detective work! The culprit is likely the bbag.js code as you
> have mentioned. It sounds like you have made a major improvement.
> Really, the whole thing needs to be moved into action_trigger and
> library settings and eventually baked into Evergreen. Share your
> improvements as you make them! I could imagine a path forward coding a
> custom JS carousel (instead of using jcarousel) using some of the
> great Angular things. Coupled with a server side component in the form
> of an additional gateway-v1 listener to provide the JSON data as
> needed. Right now, the bbag.js code downloads the entire bookbag and
> injects the ID's into a hidden DOM element. Perhaps it's time to open
> that can of worms again? Is there a LP bug for this?
>
> -Blake-
> Conducting Magic
> MOBIUS
>
> On 10/13/2018 10:05 AM, Josh Stompro wrote:
>
> Hello, I’m moving this over to the dev list.
>
> Using the batch method to flesh the titles from the bookbags does
> seem to offer significant performance improvements for us.
> (Sending all bib id’s in one array to
> open-ils.search.biblio.record.mods_slim.retrieve)
>
> Measured in chrome 69.0.3497.100
>
> Before: (hot cache) 19 second page load, 480 requests, 757kb
> transferred.
>
> After: (hot cache) 6 second page load, 76 requests, 434kb transferred.
>
> Difference: 68% reduction in page load time, 84% reduction in
> requests, 42% reduction in transfer amount.
>
> I haven’t dealt with getting the correct order yet,
> open-ils.search.biblio.record.mods_slim.retrieve returns results
> in bibid order.
>
> Josh
>
> *From:* Open-ils-general
> <open-ils-general-bounces at list.georgialibraries.org>
> <mailto:open-ils-general-bounces at list.georgialibraries.org> *On
> Behalf Of *Josh Stompro
> *Sent:* Friday, October 12, 2018 2:31 PM
> *To:* Evergreen Discussion Group
> <open-ils-general at list.georgialibraries.org>
> <mailto:open-ils-general at list.georgialibraries.org>
> *Subject:* [OPEN-ILS-GENERAL] Mobius Carousel - reducing number of
> requests?
>
> Hello, We have been using the carousel from Mobius for a while
> now. And I just noticed how resource intensive it seems to be.
>
> Here are the slides from the presentation that Bake created about it.
>
> http://slides.mobiusconsortium.org/blake/bookcarousel/#/1
>
> And the code
> https://github.com/mcoia/mobius_evergreen/tree/master/bookbag_update
>
> We have ~ 30 catalog machines that are set to reset every 5
> minutes of idle time (since people don’t always log themselves
> out.) When I watch our catalog page load which currently has 3
> sliders, I see 483 requests made from the browser. ~450 of those
> requests are from the carousel, since it request each book bag,
> and then request info for each bookbag item. And then request
> images for the visible items. So our 30 catalog machines generate
> 162000 requests an hour.
>
> I’m wondering if anyone has tried pre-generating the bookbag json
> data on a schedule so the web page can do just one request for the
> titles? It also seems like the only info that is used is the
> title, while 1-2kb of data gets returned about each item. So a
> lot of unused data gets moved around. The script that generates
> the static data file could do things like randomize the order of
> the items, so a static bookbag list would show different titles
> whenever it is re-generated.
>
> It looks like open-ils.search.biblio.record.mods_slim.retrieve can
> accept an array of ID’s, so that seems like it would reduce the
> number of requests, so that may be another way to reduce the
> number of requests.
>
> Thanks
>
> Josh
>
> Lake Agassiz Regional Library - Moorhead MN larl.org
>
> Josh Stompro | Office 218.233.3757 EXT-139
>
> LARL IT Director | Cell 218.790.2110
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libmail.georgialibraries.org/pipermail/open-ils-dev/attachments/20181016/7a7c046e/attachment-0001.html>
More information about the Open-ils-dev
mailing list