Hi Celeste & BenG,
I just wanted to paint a better picture of what I believe is going
on within the NT environment. Both NT/2000 & UNIX(Solaris/AIX) are all
"preemptive" using some sort of time slice model. The exact specifics
differ. Each time slice is assigned to a process via the O/S. Within
the process, you can have one or multiple threads assigned to the
process dependent upon the code executing. Since the JRUN server is a
single process executing upon NT O/S it has a specific time slice
before it is preempted by the O/S for another process. Therefore JRUN
could be very busy switching between threads in it's time slice but the
box would only show a small percentage of activity since all of the
other process may be sleeping or doing some background task. They would
still take time on the scheduler. It may be possible to bump up a
process in priority(therefore a bigger time slice), but I am unsure
within NT?? A good book on this would be "Win 32 System Services" by
Brain. It describes a lot of what I am talking about(Sorry all C API's
though).
Dave
-----Original Message-----
From: CHaseltine
Sent: Thursday, October 04, 2001 11:43 AM
To: jrun-talk
Cc: CHaseltine
Subject: RE: Re: JRun does not responds after 100 threads
Dave,
You made an excellent point regarding "thread thrashing". Although I
don't
know if "thread thrashing" is completely responsible for the behavior
that
Ben is experiencing, it can certainly contribute. If my memory serves
me
correctly, the NT and 2000 threading scheduler is based on a
"preemptive"
model, vs a Unix operating system's threading scheduler is based on a
"time-slicing" model. The difference being that a time slicing
scheduler
will eventually give CPU time to lower priority threads, whereas a
preemptive scheduler may not. It one of many reasons to consider using
a
Unix server if you expect to experience heavy traffic/load on your
site.
You can write a simple program to execute a "group" threads and then
one by
one, launch another thread within your "group" and watch your
performance.
If your performance suddenly deteriorates around 50 or 100 threads,
than you
may need to upgrade your machine to include more CPU's. Or, if you are
really anticipating a heavy load/traffic on your server, consider
porting to
a Unix server. That's one of the advantages of using JSP's and Java,
you
can easily port from one platform to the other if necessary.
Celeste
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, October 03, 2001 6:09 PM
To: JRun-Talk
Subject: RE: Re: JRun does not responds after 100 threads
Guys,
How many processors do you have running on your system? I do not
believe that this is a JRUN or java issue but a "tread thrashing"
issue. Basically only one thread can run at any exact moment upon a
CPU. By running 100 threads at once, the machine is spending a lot of
resources upon just switching between threads than running them.
Another issue to consider is that NT's thread model is not the best
going. I just got a dual Pentium set up and it provides a little boost,
but not what I had hoped for:(
As for our PRD systems, we use some of the larger SUN systems and
they handle threading very well. After some experience we have found
out that setting more than about 20 threads to a process(not jrun in
particular) provides little benefit due to I/O & other things. This
machine though has 64 processors to utilize.
Makarand,
It sounds as if you might be upgrading your hardware to a UNIX
system to handle your load. A big perk with JSP's is that your code
won't have to change one bit:)
Dave
-----Original Message-----
From: bgroeneveld
Sent: Wednesday, October 03, 2001 6:08 PM
To: jrun-talk
Cc: bgroeneveld
Subject: Re: JRun does not responds after 100 threads
Makarand, I have seen similar behavior. I think there may be a JRun
problem. If I setup a threadpool of 50 with an idle thread timeout of
60, then after a fresh jrun startup and no activity NT perfmon shows
the threadpool gets cleaned up. Or if I send a burst of 100 persistent
connections, then after 60s the threadcount goes from 150 to 100.
I am going to try an experiment with the IBM jvm later this week to
make sure this isn't VM related.
I've had best performance leaving the threadpool at 1, even thought
that's not what's desired, my server/VM lives much longer that way.
I'm assuming that changing the threadpool causes a fault inside JRun.
Anyone know more?
BenG.
JOGALEKAR,MAKARAND (HP-Boise,ex1) wrote:
>Hello,
>
>We are having lot of problems with JRun 3.0 or Jrun3.1,
>If we get high volume and the thread count goes beyond 100, it does not
>respond.
>
>We are just using servlets with Netscape Exterprise server 3.6 with
EJB's at
>all.
>
>We have disabled the EJB option for performance and also tried
different
>options
>by setting initial thread count to 50 with maximum thread count to
500..but
>nothing works..
>
>Any help ??
>
>Thanks,
>-Makarand
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists