lua-users home
lua-l archive

Re: scalability

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 2009年4月26日, Louis Mamakos wrote:
>
> There are other protocols and applications other than HTTP to web 
> servers. I don't
> understand, for instance, how I'd use lighttpd to build an XMPP server 
> that needs
> to manage a large number of TCP connections. Likewise, "business logic" 
> need not
> be a heavyweight operation that hits a database, or even a disk arm. An 
> XMPP
> server might have lightweight per-connection state in memory for a few 
> thousand
> sessions.
>
> Using an alternative to select(), like kqueue() is a huge win because 
> you don't
> have to continually pass an indication of interest back and forth across 
> the
> kernel system call interface for each invocation. A small change like 
> this can
> avoid a lot of complexity in your system in managing multiple instances 
> of
> an application.
Fair enough, my example was web specific. The idea of using load
balancers to scale vertically is still valid for a lot of scenarios,
especially when business logic outweighs the processiong time for
connection handling by a long shot. My reply was mainly related to the
original post which I think addressed web application development.
After all, for many of these scenarios select does a better job than
threading or forking (even though that always depends on the particular
task) but if select would have been good enough for everything,
/dev/poll, epoll, kqueue etc. would never have been developed.
	-T

AltStyle によって変換されたページ (->オリジナル) /