Friday, February 10, 2012
Google Custom Search

ClearCanvas Highlights

Download our Open Source software
Watch some Videos
Get the Source
Check out our Licensing
Join our  Forums
Some Research: OICR IPP-Trials

Our Community

Membership Membership:
Latest New User Latest: sdlb6168
New Today New Today: 23
New Yesterday New Yesterday: 27
User Count Overall: 20613

People Online People Online:
Visitors Visitors: 15
Members Members: 2
Total Total: 17

Online Now Online Now:
01: myanez
02: Julcmvav

ClearCanvas Community Forums

Scaling the Server
Last Post 2010-08-04 01:59 PM by resnickj. 7 Replies.
Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
ikozyol
Basic Member
Basic Member
Posts:27

--
2010-07-11 12:03 AM  

Hello!

I found a very informative page on scaling the Image Server

http://www.clearcanvas.ca/dnn/Portals/0/ClearCanvasFiles/Documentation/UsersGuide/ImageServer/2_0/index.html?hardware_configuration.htm

Is there a similar guide for scaling the RIS server?

In case I needed redundancy,or need to share load on different servers.

I did some investigation, and found a very nice tool called HAProxy, which can share the load on multiple servers: http://haproxy.1wt.eu/

Also, I found that web farms using NHibernate use a distributed 2nd level cache, primarily memcached.

So, I would like to play with the following scenario: two servers running RIS connecting to single DB server,  another server running memcached with shared cache, and finally a server running HAProxy to divide the load; HAProxy would have

a VIP that clients connect to.

Can anyone comment on any other issues that might arise with this configuration?

Do I need to configure HAProxy for sticky sessions?

One other option I was thinking of was to turn off second level caching in NHibernate, and forgetting about memcached. But that depends on the read/write ratio I guess.

If ratio is low, then might make sense.

Interesting problem.....

Any insight into this situation would be very greatly appreciated!

 

Cheers,

Igor

 

 

 

 

 

 

 

 

ikozyol
Basic Member
Basic Member
Posts:27

--
2010-07-11 08:59 AM  
Also, as per MSDN, I will try reducing the lease timeout on the RIS WCF services, to say 15 seconds, to avoid client affinity to a particular server, which would defeat load balancing.
resnickj
Senior Member
Senior Member
Posts:968

--
2010-07-14 10:13 AM  
Hi,

There is no guide to scaling RIS server at this time, but the approach you've described seems generally sound. A couple of things to consider:
1. You can try disabling the 2nd level cache, but I suspect that performance will suffer. Memcached is probably a good option, even you don't have a dedicated machine for it.
2. You shouldn't need sticky sessions - each client/server request is atomic. I don't think you need to worry about lease timeout either, because the client is establishing a new wcf channel for every call to the server.
3. Shreds other than the application server were not designed to support running multiple instances. Therefore you will need to ensure that you disable these shreds on all but one of your servers. This can be accomplished by ExtensionSettings in the app config, or by physically removing the plugin ClearCanvas.Ris.Shreds.dll.

If you get this setup going, please let us know about your experiences.
Real-time support available to Clinical Edition and Team Edition customers
ikozyol
Basic Member
Basic Member
Posts:27

--
2010-07-14 11:00 AM  
Thank very much for the tips. I suppose the ImageServer needs sticky sessions because of how DICOM connections work, where a client negotiates an association with a particular server, and must maintain its association with that server until the association is closed.

For the lease timeout, I believe that a new wcf channel may reuse an existing connection from the connection pool, so channel != socket necessarily. See this for example:

http://kennyw.com/work/indigo/173

As for the shreds other than the application server shreds, would those be the image availability and publication shreds?


Thanks again,
Igor



resnickj
Senior Member
Senior Member
Posts:968

--
2010-07-15 06:17 PM  
Yes, the image availability and publication shreds.
Real-time support available to Clinical Edition and Team Edition customers
ikozyol
Basic Member
Basic Member
Posts:27

--
2010-07-28 11:20 AM  
Thanks!
ikozyol
Basic Member
Basic Member
Posts:27

--
2010-08-01 03:15 PM  
One other issue just occurred to me: synchronizing time stamps. I assume the RIS server
stores the time when patients are registered, reports are created, etc. If I have multiple RIS servers, would I need to have a central time provider, to keep time stamps consistent?

Thanks!

Igor
resnickj
Senior Member
Senior Member
Posts:968

--
2010-08-04 01:59 PM  
Yes, the easiest thing to do would be to configure the OS to keep your server clocks synchronized.
Real-time support available to Clinical Edition and Team Edition customers
You are not authorized to post a reply.

Active Forums 4.1
Copyright 2011 ClearCanvas Inc.