I would second that... asynchronous is definitely the way to go. And I
don't think it's a just a matter of the number of sockets at the OS
level, it's also a matter of the number of threads your web/app server
can run. A heavy-duty app server like weblogic has 15 execute threads by
default. Here you're talking about a 100 new requests coming in per
second, and each taking 25 seconds to complete. So even if you had 10
weblogic servers in a load-balanced cluster, you would still run out of
available threads after just a few seconds ...

Regards,
Sunil D'Monte
Tavant Technologies
http://www.tavant.com
  

> -----Original Message-----
> From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, August 02, 2006 17:18
> To: [email protected]
> Subject: Re: Too many sockets being created. Bad architecture?
> 
> My question is :
> What is the standard way to architect web services which have 
> a very long blocking synchronous operations ?
> 
> Don't. Design an asynchronous exchange instead.
> 
> Anne
> 
> On 8/2/06, kk kk <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I am developing a WS which provides an operation that takes 
> around 25 
> > seconds to complete. I can not speed this up nor I can not use a 
> > polling pattern or a callback to inform the client of the result of 
> > the request.
> >
> > I want to make the WS server capable to handle 100 new requests per 
> > second, so 100 x 25 = 2500 sockets connections will exist 
> at any point 
> > in time with my current design !! I am sure this is bad but am not 
> > sure what is the best way to go to get a scalable solution with a 
> > single server process.
> >
> > I am using Axis 1.2 and Tomcat on the server which is a Sun Solaris 
> > box. My test client is a Axis/Java application though I need to be 
> > able to support other clients too.
> >
> > As expected, I can see huge numbers of open sockets and FDs 
> using unix 
> > commands like netstat and lsof.
> >
> > I have been experimenting with TCP/IP kernel setting on the 
> server and 
> > using ideas from 
> > 
> http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=
> > /com.ibm.websphere.express.doc/info/exp/ae/tprf_tunesolaris.html
> > I have used
> > ndd -set /dev/tcp tcp_conn_req_max_q 8000 to increase number of 
> > sockets that the server can handle and this does seem to 
> allow a 1500+ 
> > parallel sockets to exist.
> >
> > My question is :
> > What is the standard way to architect web services which 
> have a very 
> > long blocking synchronous operations ?
> > Assuming I have a small number of clients each making many 
> WS calls is 
> > there a way to somehow multiplex many SOAP requests for 
> eackh client 
> > down one socket?
> > Is there a way to get Axis/Tomcat server to use UDP/IP rather than 
> > TCP/IP?
> >
> > I am new to this and all ideas much appreciated.
> >
> > Cheers,
> > KP
> >
> >
> >
> >
> >
> >
> > ___________________________________________________________
> > All new Yahoo! Mail "The new Interface is stunning in its 
> simplicity 
> > and ease of use." - PC Magazine 
> > http://uk.docs.yahoo.com/nowyoucan.html
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to