Soon at work we are going to be releasing a new version of a highly anticipated data set… there is only one problem, one of the viewing tools, gbrowse can be very processor hungry, especially when you have many tracks open at once. On our current hardware, this means that users could potentially have a poor user experiance if there are more then say 5 users abusing the system (i.e. trying to look at a large set of data). What to do? If the user base gets a bad experience we loose face, and they won’t be back. Thus we have a once in a life time chance to put our best foot forward.
Thus the problem is how to handle a large influx of users doing heavy work? Load balancing comes to mind right away, however there is a problem… gbrowse keeps a session across web pages (This is accomplished by passing a cookie with a session id to the user, and then storing the session data in a temp file). Thus if you go to diferent machines, the state data is not there anymore.
Right now we are looking at using apache as a load ballancer and then having multiple machines using a shared NFS mount as their temp storage to share session id.
However I am not sure if this will work yet… time will tell I guess, check back later for more info!
As always, these posts are my musings only and my employer, the commissioner of the NBA, NFL, and CIA, and or the secretary disavow all knowledge of anything…