On 2018-04-17 02:06:47 +0000, Arne Vajh j said:
> On 4/16/2018 5:20 PM, Stephen Hoffman wrote:
>> On 2018-04-14 11:20:42 +0000,
don....@gmail.com said:
>>> Although the Apache 2.0 stream contains support for running the server
>>> in a hybrid multiprocess, multithreaded mode, the SWS Version 2.1-1 kit
>>> is built on a process-based model. Wondering if the new release from
>>> VSI provide multithreaded mode?
>>
>> Switching to threading would either involve porting to KP Threads or
>> porting to and testing with DECthreads, and with what would seem
>> dubious benefits for the effort involved.
>>
>> AFAIK, it's still all process-based and that's what all the
>> installations I'm working with all use.
>
> The 2.x code base from Apache has support for threading on *nix.
>
> I suppose that mean pthreads.
>
> VMS support pthreads.
Porting is such sweet sorrow.
> Would compile with flags to include the threading modes and LINK
> /THREADS_ENABLE work?
Would it work? That's doubtful. Not without specific work and testing.
There are likely some benefits to this work, but I'm skeptical there
are a large number of folks where the differences here would matter.
The current pthreads spec is IEEE 1003.1-2017 and which is a revision
of the 2008 spec, and the OpenVMS pthreads implementation is apparently
based on IEEE 1003.1-1996. I don't know which pthreads spec is
targeted for Apache, but 2008 wouldn't be ab unexpected dependency.
There are a bunch of other parts of POSIX and C that could use updates
too, and the folks at VSI undoubtedly have lists of some of those
around.
OpenVMS isn't a big web-serving platform, with ~368 public-facing web
servers running Apache world-wide, ~223 running HTTP and ~140 HTTPS,
and ~3 using oddball ports. A number of these OpenVMS web servers are
running OpenSSL 0.9.7d or 0.9.8o, too. For comparison purposes, there
are ~381,089 running Apache on Linux, and 7,231,296 Windows IIS, and
18,126,562 nginx. There'll be more servers within network perimeters
and others that are running with "prod" set, certainly.
Getting to current Apache httpd and current OpenSSL and current mod_ssl
is probably higher on the likely work list than efforts around
improving the process handling, too. Maybe getting Apache httpd
changes pushed upstream or the porting more automated, and maybe
getting the Apache sources posted openly in a DVCS repository to allow
non-VSI folks access.
There's also the knock-off work around updating pthreads, for whatever
might be missing or malfunctioning or in need of updates.
It'll probably also be more productive to create an OpenVMS MPM using
KP Threads and use that, rather than using pthreads. It'd then be
entertaining to mix KP Threads threading with ICC communications in
some distant future update, but then that'd also involve getting IP
working cross-cluster working and connection hand-offs working rather
more transparently. But that'd also be a pretty powerful and flexible
Apache server configuration.