[Nitro] Nitro on Apache
Robert Mela
rob at robmela.com
Wed Oct 3 16:08:08 EDT 2007
For sure -- it'd be labor intensive and tedious to take a legacy
framework with all its associated plugins from disparate sources and
make it thread-safe. You'd have to make the default mode
single-threaded and allow a year or two for plugins and new development
to catch up.
There are actually very few cases where a framework user would need to
consider concurrency. Most of the shared resources are things like
session stores, database connections -- and all that's taken care of by
the framework. Presumably a developer advanced enough to create a
shared resource is also someone who has a clue as to what needs to be done.
s.ross wrote:
> Have you ever tried to make an app thread-safe? The dependencies are
> so bizarre that the testability of the app vastly increases in
> complexity. Bugs are subtle and don't happen often -- even then, they
> are not readily reproducible. Worse, they may not even be in your code!
>
> I've been a proponent (in the past) of some kind of MT Rails, but the
> more I think about injecting mutexes or bracketing sections of code
> with semaphores, etc, etc, hoping I've made my code reentrant, the
> less I like it when compared to the multiprocess model. Note also that
> a good deal of any Web app is made up of instance objects which are
> typically not long-lived and don't benefit from MT. So you get to
> think about a whole different set of things: Where do I store
> app-global data and how do I store thread-local data?
>
> This can be a nightmare for request/response cycles that typically
> take milliseconds and for which a multiprocess alternative exists.
>
> Just my $.02
>
> On Oct 3, 2007, at 10:25 AM, Kirk Haines wrote:
>
>>> I would quite happily trade that in for the
>>>
>>> memory and performance overhead of whatever multiplexing or
>>> multithreading
>>>
>>> scheme is used in the app server.
>>>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Nitro-general mailing list
> Nitro-general at rubyforge.org
> http://rubyforge.org/mailman/listinfo/nitro-general
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rob.vcf
Type: text/x-vcard
Size: 116 bytes
Desc: not available
Url : http://rubyforge.org/pipermail/nitro-general/attachments/20071003/5b4f16e5/attachment.vcf
More information about the Nitro-general
mailing list