Frank Welch wrote:
>
> We will take a look at the thread priorities in the
> HttpProcessor threads.
>

 That wasn't really meant to be a proposed solution,
it was just the 'flavor' of the kind of thing you
might end up having to do. You may not need to do
anything special at all.


> We have not tried anything yet, still in architecture
> mode.
>

 You may find that you need to experiment, see below.


> But we have a breed of messages (Patient Requests 911, "Help
> I've Fallen and I can't get up!") that we want to ensure
> get processed before any normal messages.
>

 If this is actually a life-critical system, then I
don't recommend that you use Tomcat, or even Java, at
least for that part of the system. The engineering
requirements (as you probably know) are so different
for those types of systems that industry rules-of-thumb
do not generally apply. Suggestions you get on this
list are probably not going to be applicable (see "soft
real time" below)


> I understand that Connectors will create threads for
> simulaneous requests, what if the 911 request is behind
> 15 other requests?
>

 By "911" I'm going to assume you mean "business critical".

 The connectors pre-allocate a (configurable) number of
threads. Simultaneous connections up to that number all
execute, well, simultaneously, subject to the limitiations
of the underlying os and hardware. The exact scheduling
between three 'simultaneous' threads executing on a 2-processor
system is generally impossible to determine (especially
when you're using Java). Thread priorities let you give
hints, but you need a real-time operating system (and some
very careful programming) if you want guarantees.

 Business systems are generally "soft real time" (stop
me if you've heard this one before) which more or less
means you write the code, then fiddle with tuning params
until the customers stop complaining. Almost all Java
programs are written this way. If you want guarantees,
see the above paragraph.

 If it were me, and I was feeling aggressive, I'd write
enough of the system to start testing, then play with
the normal Tomcat 4 Connector tuning parameters until
I got close to what I wanted. If that wasn't close enough,
I'd try things like playing with thread priorities, and
if that didn't do it, I'd look at what thread tuning
parameters were available on my O/S (locking threads
to a cpu, tuning low-level priorities, etc).

 Oh yeah, almost forgot: all of this (except maybe the
normal Tomcat connector tuning) is incredibly brittle.
Small changes in your system (OS upgrade, more memory,
another CPU, a different network card) can require large
changes in your tuning. That's why they make real-time
operating systems :-)

 Good luck.

--
Christopher St. John [EMAIL PROTECTED]
DistribuTopia http://www.distributopia.com

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to