New Posts New Posts RSS Feed: Any experiences with scaling out with BOS
  FAQ FAQ  Forum Search   Calendar   Register Register  Login Login

Any experiences with scaling out with BOS

 Post Reply Post Reply Page  <12
Author
sbelini View Drop Down
IdeaBlade
IdeaBlade
Avatar

Joined: 13-Aug-2010
Location: Oakland
Posts: 786
Post Options Post Options   Quote sbelini Quote  Post ReplyReply Direct Link To This Post Topic: Any experiences with scaling out with BOS
    Posted: 06-Mar-2013 at 10:02am
Csaba,

- Entity caching is not done on the server, only on the clients.
The server does users and metadata only. In case a client hit a different server, (i.e. in load balancing) the user will be re-logged in the second server.

- As for "catches" 1 & 2, the client will need to refetch the entities in order to updated. A way to "know" entities were changed would be subscribing to a push service.
- DevForce does not do anything in special in regards to multithreading - this task is left for the OS to manage.

sbelini.

Edited by sbelini - 06-Mar-2013 at 12:06pm
Back to Top
ctoth View Drop Down
Newbie
Newbie
Avatar

Joined: 04-Mar-2013
Location: Fresno, CA
Posts: 22
Post Options Post Options   Quote ctoth Quote  Post ReplyReply Direct Link To This Post Posted: 04-Mar-2013 at 9:49am
We will probably need to scale out for some big customers in the near future. We use DevForce 2010 currently with a desktop application solution. We will perform some experiments but I want to go ahead and query the experience of other folks here regarding this matter.
Our plan is to deploy BOS to multiple servers, those would serve as a load balanced tier above the DB tier. I haven't found too many topics about this, a couple of them suggests that using Windows Server's load balancing feature should just work. I also found a Word document white paper titled "DevForce Business Object Server Performance". That says:

"Scalability

Since the Business Object Server is effectively stateless, the server scales very well and there are a number of good options if additional performance is required:

  • Use a high-end processor - Since the server is not memory-bound, the throughput scales well with increasing clock speed.
  • Use more processing units – Moving to a quad core processor or a multi-socket configuration will increase throughput by about 80% for every doubling of processing units.
Add more servers – This effectively adds more processing units but scales almost linearly because the memory subsystem is not shared among cores."

Please confirm that the caching is done on the client side and the BOS is absolutely stateless. That would really mean that it can scale out easily. At the same time I'm wondering where is the catch. Because there's always one. Right now I can see two catches:

1. The freshness of the client-side cache. If one client modifies a bunch of business object, when will another client through another BOS (or the same BOS) see that?

2. What if we have also some stored procedures which goes down to the DB tier and manipulates the data in bulk (for performance reasons).

Extra question from the quoted section: how multi-threaded is the BOS? The doc states to "use more processing units". BOS will take automatically advantage of extra cores?

Thanks,

Csaba
Back to Top
 Post Reply Post Reply Page  <12

Forum Jump Forum Permissions View Drop Down