Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 03-31-2008
spsoni's Avatar
spsoni spsoni is offline
Registered User
 
Name: Sury P Soni
Organization: Next Digital
Project: Unified Messaging Plattform for Inhouse Products
 
Join Date: Mar 2008
Location: Melbourne, Australia
Posts: 31
Scalability issue with sync and async patterns

Hi There,

System Description:
===============

I have implemented a queueing system using Ice on FreeBSD.

Incoming traffic (puts from clients) on queueing server is asynchronous and outgoing traffic (gets from clients) is synchronous.

To test the scalability of queueing server, for puts (async) I immediately send ice_response(), whereas for gets (sync) I am returning 3 character string as data.


Test Setup:
=========

Now, to actually test the scalability of the overall system, I am gradually increasing number of servers on the server machine, each having 1 adapter and listening on 1 port (per server application). Whereas, clients sending their requests to server(s) in round-robin fashion (since each server is just a mock server and I am not at the moment interested in order of messages).

Results:
======

Performance on put clients (async) for sending 100000 messages gradually decreases (occasionally increases in middle, but overall decreases) for every increase in the number of queueing servers onto the server machine.

But the get clients (sync) performance descreases much faster and scale on increasing just 2-3 servers applications.

Therefore, my conclusion was, we cannot use sync get clients to scale our overall application. Correct me if I am wrong!

When I tested my get clients as async, performance was smoothly degrading as compared to abrupt and poor performance in sync.

The problem with async get client is that, we will loose order of messages. And once we start ordering async responses (by holding the next request, untill we receive callback), I believe performance will come down same to sync call. What you say?

I have more questions regarding this behaviour, but before, if someone can explain what is happening in such a scaling environment. If my assumptions/conclusions are wrong.

Thanks.
Reply With Quote
  #2 (permalink)  
Old 04-01-2008
benoit's Avatar
benoit benoit is offline
ZeroC Staff
 
Name: Benoit Foucher
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Rennes, France
Posts: 1,542
Hi,

I'm not sure I understand your application and what you're trying to measure. For instance, it's not clear to me why the performances of your "put" clients would get worse if you increase the number of queuing servers. How many queuing servers do you deploy, 10, 100, 1000?

Using AMI for the "get" invocations will allow to send more "get" requests: the client doesn't have to wait for the response of a given request to send another one. However you will indeed have to take care of ordering the responses if you require ordering.

The best would be to post the code of your test, this will give us a better idea on what you're trying to do and measure.

Cheers,
Benoit.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Competition for server thread for sync and async invocation spsoni Help Center 1 03-06-2008 07:56 PM
Async bidirectional issue Kruppy Help Center 15 05-16-2007 11:44 AM
Seattle conference on scalability xdm Comments 0 02-20-2007 09:08 PM
Scalability Questions feline Help Center 9 06-28-2005 03:24 AM
Design patterns for using CCM (related to IceBox) SteveWampler Help Center 16 05-22-2004 11:53 PM


All times are GMT -4. The time now is 10:56 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.