Very Slow Issues?


Recently we encountered a situation where an issuing computer was taking 2 minutes to issue items. This is obviously excessive and a little detective work determined that this occurred when hundreds of items were issued to a single borrower on a networked computer.

(Version 2.6 of Athenaeum changes the way borrower limits and current counters are stored and virtually eliminates this problem.)


Athenaeum is optimised to speedily issue items while constantly checking borrower privileges, item restrictions and any item reserve detail during the issue process.

The physical limitations to the number of items that may be issued are quite high (so high that no school is likely to reach them) but the practical limits may be reached soon in certain circumstances.

The problem

One school was issuing text book resources to a teacher. When that teacher reached 150 items, Athenaeum was taking approximately 60-90 seconds per item. If they issued to another borrower (with less items), issue time was back down to a second or two.

Analysis

When SumWare Consulting simulated the situation on our computers, Athenaeum took only a few seconds to issue, when the borrower had over 400 items. We thought this strange, but then realised we were issuing on the "server" computer not using a networked computer. Sure enough, when we hooked up another, slower computer on the network, Athenaeum took around 90 seconds to issue the 500th item to the borrower.

Before explaining a solution to the problem, it is helpful to understand what is happening "under the bonnet" of Athenaeum.

Some of the reasons for the slowdown include:-

When you enter a borrower code, Athenaeum 2.5 checks (amongst other things) the following:-

  1. that you entered a valid borrower code
  2. the number of items that the borrower has been issued from the catalogue and compares that to the number they are allowed
  3. the number of "fiction" items
  4. the number of "non-fiction" items
  5. the number of "Senior Fiction" items
  6. the number of "Senior Non-Fiction" items
  7. the number of "Audio-Visual" items
  8. the number of "other" items
  9. is the borrower suspended?
  10. does the borrower have fines and, if so, is the fine override switch on
  11. does the borrower have overdue items and, if so, is the "allow more items when overdue" switch set

Now imagine performing each of the above checks up to 500 times, and the information is stored on a different computer, connected on a busy network! It's hardly surprising that there is a noticable delay in performing the checks.

On top of this, once you have the borrower code, when you scan an item for issue, additional checks have to be performed:-

  1. With this particular item, have any of the borrower maximums been exceeded?
  2. does this item have a valid code
  3. is the item marked "Not for Issue"?
  4. is the item marked "Dispose"
  5. Does the item have a maximum number of days for issue and, if so, does this affect the due date?
  6. Does the due date fall on a saturday or sunday and is the library open on these days. If not, adjust the due date to the next "open" day
  7. Does the due date fall during the next holidays, if so, adjust the due date
  8. does the due date fall after the "latest due date" stored in the administrative settings, if so, adjust the due date

So you see, Athenaeum works pretty hard during the issue process (which is why we recommend faster, well configured computers for the library!).

Solutions

Solution 1

A simple work around here is to issue less items to a borrower, if you are issuing from a networked computer.

Now that sounds like a major limitation, but here is what we can do.

The teacher had many items including

  • maths text books issued to the class
  • dictionaries issued to the class
  • general reading materials for the class (a "micro-library" in the class room, if you like)
  • other classroom resources
  • items borrowed for the teachers own use

Rather than issue all of the items to the teacher, two additional "borrowers" can be created. The first we will call "Room 5 resources", the second "Room 5 Text books".

For all of the rooms in the school, we can create the extra borrowers in a similar fashion.

Doing this gives an desirable benefit that the issue of text books, room resources and general reading matter can be controlled seperately. For example, text books can be issued for a whole year (or as late as the latest due date); room resources for 2 months and general reading matter for 3 weeks.

Solution 2

The second solution is to combine groups of like items that generally stay together into a single entry in the catalogue. Then you would issue the group to the borrower.

For example, each room in the school might be issued with a box of 15 dictionaries. Therefore, the library administrator would create 1 single entry for each box, rather than 15 entries for each dictionary. If you print your own bar-code labels (which is easy if you have a word processor, bar-code fonts and a laser printer or high quality ink-jet printer), you would mark each item in the box with the same bar-code. If you were using purchased bar-codes, and don't have multiple copies of each bar-code, then just enter the bar-code numbers of each item in the set into the notes field. That way, when you find a stray item, you can perform a catalogue search for it and identify which set it came from and therefore, who has the item.

Athenaeum Light

Athenaeum Light is unlikely to suffer the same problem as Athenaeum 2.5, because it does not check anywhere as many limits as Athenaeum.

Simply put, Athenaeum Light checks:

  1. the number of items for the borrower
  2. is the borrower code valid
  3. does the borrower have any overdue items
  4. does this item have a valid code
  5. is the item marked "Not for Issue"?
  6. is the item marked "dispose"

So, Athenaeum Light is much, much less flexible than Athenaeum, but is faster at issuing!

SumWare Consulting