[Tickets #13231] listEvents will run sequentially when listing calendar events

noreply at bugs.horde.org noreply at bugs.horde.org
Wed May 28 06:56:34 UTC 2014


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/13231
------------------------------------------------------------------------------
  Ticket             | 13231
  Created By         | arjen+horde at de-korte.org
  Summary            | listEvents will run sequentially when listing calendar
                     | events
  Queue              | Kronolith
  Version            | 4.1.5
  Type               | Enhancement
  State              | New
  Priority           | 1. Low
  Milestone          |
  Patch              |
  Owners             |
------------------------------------------------------------------------------


arjen+horde at de-korte.org (2014-05-28 06:56) wrote:

I'm using Firefox 29 which, like most browsers, will allow a limited  
number of simultaneous connections to the same server (in this  
version, six). When listing the events for my calendar, it will fire  
off 15 processes, each handling a single calendar resource. It will  
run 6 processes in parallel, so far so good.

Now the hairy part. With the builtin-, File- and Sql-sessionhandlers  
these 6 processes will run concurrently and all 15 are handled in  
about half a second. Very acceptable performance and switching between  
month views is pretty much instantaneous.

With the Hashtable sessionhandler things are quite different. Each  
process will attempt to get a lock on the (same) session data that is  
stored during session_start(). Obviously, only one of 6 listEvents  
calls succeeds to get the lock (so the locking mechanism works), the  
others have to wait until the session is closed again. So effectively,  
the listEvents calls are handled sequentially for the Hashtable  
sessionhandler. This means that switching between month views takes  
well over two seconds. Not impressive at all.

As far as I can see, the listEvents call from the Calendar will not  
have to change the session data. In this case, it might be useful to  
open the session data readonly, in which case no locking is used (nor  
needed), so multiple processes can use the same data concurrently.





More information about the bugs mailing list