You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Massimo Manghi <ma...@unipr.it> on 2014/06/23 11:29:46 UTC
Tcl channel optimization in mod_rivet
In the slow process of reorganizing mod_rivet (and its components) in
order to make it more tractable for a code refactoring I realized the
way mod_rivet handle the Tcl Channels was suboptimal. With a prefork MPM
a child process can handle only a request at a time, therefore there is
no need for replicating the creation of the Tcl channel for each
interpreter when virtual hosts require separate interpreters: Tcl
channels are registered to an interpreter but are created independently
and are destroyed when by calling Tcl_UnregisterChannel their reference
count drops to 0
I will attach a patch which applied to the current trunk code makes
mod_rivet create and manage a single channel. To be tested with virtual
host private interpreters (SeparateVirtualInterps)
the apache benchmark program reports no errors (with a concurrency 20
and 500 requests)
Anyone with a multiple virtual hosts test system is kindly invited to
try this patch, thanks
-- Massimo