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

Reply via email to