[Zope] Fwd: Re: [Zope] zope2.2.0 and what is high load

2000-08-22 Thread Bak @ kedai





conclusion (sort of)

> > > I suggest that you:
> > >
> > > 1) Monitor your Zope clients' thread usages by using their debug
> > > facilities.

did this and saw that a lot of connections spent on getting images.  when the
images were moved so that apache serve them, the server is more responsive,
now, i seldom encounter more than 100 simultaneous httpd connection.  it's as
if zope is responding slowly that connections to apache accumulate.

all the images are small in size (<20k).  i still don't have the answers to
why that will affect response time.  anybody?  and i'm sure i never did any
other changes to the setup.  only moving images to apache.

thanks

---

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




RE: [Zope] zope2.2.0 and what is high load

2000-08-11 Thread bak @ kedai



Based on your findings that all 7 DB connections are being used, I'd
revise the number of threads to 8.

will give it a go this monday.
Yes, it's the pool_size parameter.  You can increment this value
*carefully* if you see that you have more threads hanging around than DB
connections, like you're seeing now.  I have no idea what this will do
to your relational stuff.
---that really scares me.  sailing the uncharted see, and me a non swimmer!

The "right thing to do" is to test this outside of production.  I don't
want to tell you to go ahead and muck around on a production server.
But if it were *me*, I might be tempted to:

--like you, i'm tempted too.   i'll do backup first before anything else.
furthermore, i can't get the amount of traffic to really test.

- First, lower the number of threads via -t8 and see what effect that
has on speed.

- If that doesn't solve anything, bump up both the NUMBER_OF_THREADS and
the pool_size up to 10 or 12, then do some checking, and see if you
still have threads waiting for a DB.  Continue doing this in increments
of 2 or 4, making notes as you go.

Note that if it breaks your site, I'll deny I ever gave you this advice.
:-)  Proceed at your own risk.

---thanks for the advice that's not given ;) ,  i'll report progress monday!

Geez, I hope not.  This is an eminently solveable problem.

--i hope to solve this, and prove the greatness of OSS!


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




RE: [Zope] Defining High Load in Heavily DB Driven site (was: [Zope] zope2.2.0 and what is high load)

2000-08-11 Thread bak @ kedai


in general, when a thread attempts to do anything with zope it needs to
get hold of a ZODB connection so it can read or otherwise manipulate
objects in the ZODB. this is why the number of application threads
should be smaller than the number of ZODB connections. tweaking these
numbers is possible, but mileage may vary depending on your specific
site and usage.
---
as noted by chris M, if i were to bump up the zodn connection pool, it
better be more than the app thread, right?

so, in my previous case, i increased the app threads to be more than the
zodb connection pool.  what does this entail?  i'm not too sure.  i intend
to increase the app thread number and the connection pool number, to see
whether these increase will have any effeect on my currently loaded site.

one tiny question, what will all these do to my rdb connection.  my DA is
not thread safe, me think. (ZPYgreSql)

jens

thanks


Jens Vagelpohl  [EMAIL PROTECTED]
Software Engineer www.digicool.com
Digital Creations   (888) 344-4332

Got Zope?




> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of Dario
> Lopez-Kästen
> Sent: Friday, August 11, 2000 07:10
> To: [EMAIL PROTECTED]
> Subject: [Zope] Defining High Load in Heavily DB Driven site (was:
> [Zope] zope2.2.0 and what is high load)
>
>
> Hello!
>
> I need to find more info on how Zope handles threading with
> relation to
> database connections.
>
> I am currently considering and evaluating Zope as one of the
> options we have
> to build a really large, completely databasedriven "enterprise scale"
> web-platform. I am a bit worried about this "maximum of 7
> threads per db
> connection" limitation mentioned previously, and I need to
> know a) what does
> this mean in terms of accesibility, b) how does it affect
> performace, and c)
> how does Zope work (in detail) with external database connections.
>
> We are going to be using Oracle as our DB backend, all our
> served data will
> be database *only* (some of it will be fairly large), and
> efficient database
> connections is *crucial* to what we intend to do.
>
> We are going to have between 10-20k users at most and I
> expect the maximun
> of simultaneous connections to be beween 400 - 900 under
> heavy load; "normal
> load" will probably oscillate around 25-200 simultaneous
> connections (these
> numbers are crude guesses, but take into account increased
> usage over time
> as more services are provided in the future).
>
> Bandwith problems are not an issue, nor is computing power.
>
> I would appreciate any pointers to documentation or people to ask.
>
> Sincerely,
>
> /dario
>

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




RE: [Zope] Defining High Load in Heavily DB Driven site (was: [Zope] zope2.2.0 and what is high load)

2000-08-11 Thread Chris McDonough

Here's my understanding of how it works:

- The number of threads is decided by NUMBER_OF_THREADS in z2.py or the
command line argument -t[whatever].

- You can give ZServer/Zope a hundred threads if you want to, but if you
want more DB connections to service those threads with, you need to
change the pool_size in DB.py.  

Because Dario's site is hypothetical at the moment, it's probably not a
good idea to start out by changing these parameters.  He should probably
just try it out at default, knowing that he can (carefully) bump these
values up as necessary if he notices problems.  It's sort of pointless
to guess about how to increase speed until you know you need it to be
increased.  Zope can handle this kind of load, it's just a matter of
hitting the sweet spot.  In order to do that, you need to do some
profiling work, unfortunately.

> -Original Message-
> From: Paul Everitt [mailto:[EMAIL PROTECTED]]
> Sent: Friday, August 11, 2000 9:03 AM
> To: Dario Lopez-Kästen
> Cc: [EMAIL PROTECTED]
> Subject: Re: [Zope] Defining High Load in Heavily DB Driven site (was:
> [Zope] zope2.2.0 and what is high load)
> 
> 
> "Dario Lopez-Kästen" wrote:
> > 
> > Hello!
> 
> Hello Dario!
> 
> > I need to find more info on how Zope handles threading with 
> relation to
> > database connections.
> 
> How about:
> 
>   http://www.zope.org/Documentation/Developer/Models/ZODB
> 
> The jargon of threads and connections (and then threads again) can be
> pretty confusing in Zope.
> 
> First, ZServer is the thing in front listening for socket 
> requests.  It
> has a connection pool (select based) which maps into Python threads in
> the Zope application.  (ZServer is part of the Zope process, I'm
> discussing logical partitioning.)
> 
> Each concept of a "thread" in Zope is actually a "database connection"
> to the ZODB.  Threads get a private copy of the transaction 
> space, thus
> greatly simplifying (to the point of removal) the need for programmers
> to think about thread safety.
> 
> If you're talking about the thread concurrency a connection to Oracle,
> then that's a bit different.  I _think_ that ultimately this 
> maps to the
> number of Zope database connections.
> 
> This conversation is probably better in the zope-dev list.
> 
> > I am currently considering and evaluating Zope as one of 
> the options we have
> > to build a really large, completely databasedriven 
> "enterprise scale"
> > web-platform. I am a bit worried about this "maximum of 7 
> threads per db
> 
> This isn't a maximum.  It's just the default.  It's easy to 
> increase the
> number of connections.
> 
> > connection" limitation mentioned previously, and I need to 
> know a) what does
> > this mean in terms of accesibility, b) how does it affect 
> performace, and c)
> > how does Zope work (in detail) with external database connections.
> > 
> > We are going to be using Oracle as our DB backend, all our 
> served data will
> > be database *only* (some of it will be fairly large), and 
> efficient database
> > connections is *crucial* to what we intend to do.
> 
> Since you're not using any persistent objects in Zope (unless you do
> caching of the SQL data, which you probably should), then you 
> don't have
> to worry about process growth from having more database 
> connections for
> Zope.  Jack it up to 25.
> 
> Since much of the time in a Zope hit is taken by rendering to HTML, a
> number like 25 probably means you can process a hundred simultaneous
> Oracle requests.  That works out to be an average of around 
> ten million
> hits per day.  If you want more, increase the number.
> 
> > We are going to have between 10-20k users at most and I 
> expect the maximun
> > of simultaneous connections to be beween 400 - 900 under 
> heavy load; "normal
> > load" will probably oscillate around 25-200 simultaneous 
> connections (these
> > numbers are crude guesses, but take into account increased 
> usage over time
> > as more services are provided in the future).
> > 
> > Bandwith problems are not an issue, nor is computing power.
> > 
> > I would appreciate any pointers to documentation or people to ask.
> 
> Is this an intranet or a public site?
> 
> --Paul
> 
> ___
> Zope maillist  -  [EMAIL PROTECTED]
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
> 

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




RE: [Zope] zope2.2.0 and what is high load

2000-08-11 Thread Chris McDonough

> On Fri, 11 Aug 2000, Chris McDonough wrote:
> > > i went to each Zeo client control_panel, and see that there's
> > > a mzximum of
> > > four connections open at any given time.
> >
> comments to the above.  i saw only four threads because i 
> started that 
> particular box with the default.  on the box with -t25, i see 7 open 
> connections at any given time.  sorry, my mistake.

Oh, ok... that makes more sense.

> > You may want to ramp your number of threads down to 5 
> (-t5).  25 doesn't
> > do much for you because only 7 threads can be using 
> database connections
> > at any given time.  The high number of threads you're 
> servicing might
> > actually be slowing things down as they contend for 
> available database
> > connections.
> >
> will do.  and hope to see that it does something.

Based on your findings that all 7 DB connections are being used, I'd
revise the number of threads to 8.

> > It doesn't seem as if bumping your number of database 
> connections will
> > do us any good here, because it doesn't seem you're using 
> all 7.  I'm
> > not sure *why* you're not using all 7, because you've got 
> at least 15
> > processes waiting around just on your top screen for DB connections.
> 
> i did some grepping and saw the magical number 7 in 
> ZODB/DB.py.  is that the 
> number to turn up if i wanted to try increasing the db pool 
> connection?  i do 
> have postgresql with ZPygreSQL.  will that have anything to 
> do with what i'm 
> facing?

Yes, it's the pool_size parameter.  You can increment this value
*carefully* if you see that you have more threads hanging around than DB
connections, like you're seeing now.  I have no idea what this will do
to your relational stuff.

The "right thing to do" is to test this outside of production.  I don't
want to tell you to go ahead and muck around on a production server.
But if it were *me*, I might be tempted to:

- First, lower the number of threads via -t8 and see what effect that
has on speed.

- If that doesn't solve anything, bump up both the NUMBER_OF_THREADS and
the pool_size up to 10 or 12, then do some checking, and see if you
still have threads waiting for a DB.  Continue doing this in increments
of 2 or 4, making notes as you go.

Note that if it breaks your site, I'll deny I ever gave you this advice.
:-)  Proceed at your own risk.

> i love zope, and open source in general, and i can't bear 
> having to switch to 
> using something i don't really like. 

Geez, I hope not.  This is an eminently solveable problem.

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Defining High Load in Heavily DB Driven site (was: [Zope] zope2.2.0 and what is high load)

2000-08-11 Thread Paul Everitt

"Dario Lopez-Kästen" wrote:
> 
> Hello!

Hello Dario!

> I need to find more info on how Zope handles threading with relation to
> database connections.

How about:

  http://www.zope.org/Documentation/Developer/Models/ZODB

The jargon of threads and connections (and then threads again) can be
pretty confusing in Zope.

First, ZServer is the thing in front listening for socket requests.  It
has a connection pool (select based) which maps into Python threads in
the Zope application.  (ZServer is part of the Zope process, I'm
discussing logical partitioning.)

Each concept of a "thread" in Zope is actually a "database connection"
to the ZODB.  Threads get a private copy of the transaction space, thus
greatly simplifying (to the point of removal) the need for programmers
to think about thread safety.

If you're talking about the thread concurrency a connection to Oracle,
then that's a bit different.  I _think_ that ultimately this maps to the
number of Zope database connections.

This conversation is probably better in the zope-dev list.

> I am currently considering and evaluating Zope as one of the options we have
> to build a really large, completely databasedriven "enterprise scale"
> web-platform. I am a bit worried about this "maximum of 7 threads per db

This isn't a maximum.  It's just the default.  It's easy to increase the
number of connections.

> connection" limitation mentioned previously, and I need to know a) what does
> this mean in terms of accesibility, b) how does it affect performace, and c)
> how does Zope work (in detail) with external database connections.
> 
> We are going to be using Oracle as our DB backend, all our served data will
> be database *only* (some of it will be fairly large), and efficient database
> connections is *crucial* to what we intend to do.

Since you're not using any persistent objects in Zope (unless you do
caching of the SQL data, which you probably should), then you don't have
to worry about process growth from having more database connections for
Zope.  Jack it up to 25.

Since much of the time in a Zope hit is taken by rendering to HTML, a
number like 25 probably means you can process a hundred simultaneous
Oracle requests.  That works out to be an average of around ten million
hits per day.  If you want more, increase the number.

> We are going to have between 10-20k users at most and I expect the maximun
> of simultaneous connections to be beween 400 - 900 under heavy load; "normal
> load" will probably oscillate around 25-200 simultaneous connections (these
> numbers are crude guesses, but take into account increased usage over time
> as more services are provided in the future).
> 
> Bandwith problems are not an issue, nor is computing power.
> 
> I would appreciate any pointers to documentation or people to ask.

Is this an intranet or a public site?

--Paul

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




RE: [Zope] Defining High Load in Heavily DB Driven site (was: [Zope] zope2.2.0 and what is high load)

2000-08-11 Thread Jens Vagelpohl

hi dario,

to clear up some possible misunderstandings and naming issues:

we have two different beasts here. one is the number of threads that
zope uses while it runs. this can be tweaked by invoking the start
script with an argument like "t " or by editing z2.py
and changing the default number of 4 threads. again, these are
application threads.

the database connections that were talked about are a different issue.
these refer to the number of connections zope creates to its underlying
ZODB object store. you can see them if you go to
/Control_Panel/manage_debug in Zope < 2.2.0 or by using the link
in the control panel in Zope > 2.2.0. the number of these connections is
set in /lib/python/ZODB/DB.py and the default is 7.

in general, when a thread attempts to do anything with zope it needs to
get hold of a ZODB connection so it can read or otherwise manipulate
objects in the ZODB. this is why the number of application threads
should be smaller than the number of ZODB connections. tweaking these
numbers is possible, but mileage may vary depending on your specific
site and usage.

jens



Jens Vagelpohl  [EMAIL PROTECTED]
Software Engineer www.digicool.com
Digital Creations   (888) 344-4332

Got Zope?

 
 

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On 
> Behalf Of Dario
> Lopez-Kästen
> Sent: Friday, August 11, 2000 07:10
> To: [EMAIL PROTECTED]
> Subject: [Zope] Defining High Load in Heavily DB Driven site (was:
> [Zope] zope2.2.0 and what is high load)
> 
> 
> Hello!
> 
> I need to find more info on how Zope handles threading with 
> relation to
> database connections.
> 
> I am currently considering and evaluating Zope as one of the 
> options we have
> to build a really large, completely databasedriven "enterprise scale"
> web-platform. I am a bit worried about this "maximum of 7 
> threads per db
> connection" limitation mentioned previously, and I need to 
> know a) what does
> this mean in terms of accesibility, b) how does it affect 
> performace, and c)
> how does Zope work (in detail) with external database connections.
> 
> We are going to be using Oracle as our DB backend, all our 
> served data will
> be database *only* (some of it will be fairly large), and 
> efficient database
> connections is *crucial* to what we intend to do.
> 
> We are going to have between 10-20k users at most and I 
> expect the maximun
> of simultaneous connections to be beween 400 - 900 under 
> heavy load; "normal
> load" will probably oscillate around 25-200 simultaneous 
> connections (these
> numbers are crude guesses, but take into account increased 
> usage over time
> as more services are provided in the future).
> 
> Bandwith problems are not an issue, nor is computing power.
> 
> I would appreciate any pointers to documentation or people to ask.
> 
> Sincerely,
> 
> /dario
> 

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] Defining High Load in Heavily DB Driven site (was: [Zope] zope2.2.0 and what is high load)

2000-08-11 Thread Dario Lopez-Kästen

Hello!

I need to find more info on how Zope handles threading with relation to
database connections.

I am currently considering and evaluating Zope as one of the options we have
to build a really large, completely databasedriven "enterprise scale"
web-platform. I am a bit worried about this "maximum of 7 threads per db
connection" limitation mentioned previously, and I need to know a) what does
this mean in terms of accesibility, b) how does it affect performace, and c)
how does Zope work (in detail) with external database connections.

We are going to be using Oracle as our DB backend, all our served data will
be database *only* (some of it will be fairly large), and efficient database
connections is *crucial* to what we intend to do.

We are going to have between 10-20k users at most and I expect the maximun
of simultaneous connections to be beween 400 - 900 under heavy load; "normal
load" will probably oscillate around 25-200 simultaneous connections (these
numbers are crude guesses, but take into account increased usage over time
as more services are provided in the future).

Bandwith problems are not an issue, nor is computing power.

I would appreciate any pointers to documentation or people to ask.

Sincerely,

/dario

- 
Dario Lopez-Kästen Systems Developer  Chalmers Univ. of Technology
[EMAIL PROTECTED]  ICQ will yield no hitsIT Systems & Services


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] zope2.2.0 and what is high load

2000-08-10 Thread Bak @ kedai

On Fri, 11 Aug 2000, Chris McDonough wrote:
> > i went to each Zeo client control_panel, and see that there's
> > a mzximum of
> > four connections open at any given time.
>
comments to the above.  i saw only four threads because i started that 
particular box with the default.  on the box with -t25, i see 7 open 
connections at any given time.  sorry, my mistake.

>
> That's about it for your problem.  Maybe the profiling stuff can give
> more info, I'm not sure.
>
i'll try and read more about that profiling.  but not knowing what it does 
really scares me :)

> It shows that four threads have database connections.  I'm curious as to
> why you're only seeing four threads being served by database connections
> too.
as mentioned above,  my bad.  right after i sent the prev mail, i went to the 
other box with -t25, and it does have 7 open connections.

>
> You may want to ramp your number of threads down to 5 (-t5).  25 doesn't
> do much for you because only 7 threads can be using database connections
> at any given time.  The high number of threads you're servicing might
> actually be slowing things down as they contend for available database
> connections.
>
will do.  and hope to see that it does something.

> Why are you frontending this with apache?  how are you servicing two ZEO
> clients via a single apache?  Does it do some sort of round-robining?
> Or does each box have its own apache? 
each box has its own apache.  i'm round robining (straight dns round robin).  
ZEO is also a concern here because i'm using it blindly, unfortunately.  but 
it works great if i got less than 150 simultaneous connections.  and this 
symptom i saw prevuiously, even without ZEO.

 Is there any reason you're not
> just using straight ZServer?  I'm wondering if apache processes
> contending to talk to available Zope python threads might be slowing
> stuff down?

we need to serve some othe things from apache, that can't be done thru 
ZServer alone (a little php stuff)

>
> It doesn't seem as if bumping your number of database connections will
> do us any good here, because it doesn't seem you're using all 7.  I'm
> not sure *why* you're not using all 7, because you've got at least 15
> processes waiting around just on your top screen for DB connections.

i did some grepping and saw the magical number 7 in ZODB/DB.py.  is that the 
number to turn up if i wanted to try increasing the db pool connection?  i do 
have postgresql with ZPygreSQL.  will that have anything to do with what i'm 
facing?


> Maybe manage_debug isn't telling you the whole story, or maybe you
> caught it at a low-load period.  I wonder if the profiling stuff would
> help here.
>
> Maybe someone else can jump in here, this is all I can think of at the
> moment.
>

thanks for sparing some time helping me out.

i love zope, and open source in general, and i can't bear having to switch to 
using something i don't really like. 

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




RE: [Zope] zope2.2.0 and what is high load

2000-08-10 Thread Chris McDonough

> i went to each Zeo client control_panel, and see that there's 
> a mzximum of 
> four connections open at any given time.

OK, I'm not sure this is real meaningful.  A lot can happen in between
refreshes.  This is only a rough sort of "realtime" guess of what's
going on.

> why wouldn't increasing the number of threads with -t25 
> affect the way zope 
> behave?  do i need to change it in z2.py?

No... -t[whatever] does the same thing as NUMBER_OF_THREADS in z2.py.

> > There is also a profiling facility inside 
> Control_Panel/debug that does
> > some sort of automated performance compilation for you, though I've
> > never had a reason to use it.  When it's running, it also 
> purportedly
> > slows Zope down quite a bit.
> >
> 
> profiling is not enabled since i dont really know the heck it does.

I don't know what it does specifically, either.  I've never needed to
use it.  Maybe somebody else can comment.

> > I suggest that you:
> >
> > 1) Monitor your Zope clients' thread usages by using their debug
> > facilities.
> done.  as mentioned above, the number of connections is four 
> at most.  what 
> else should i look for in the debugInfo?

That's about it for your problem.  Maybe the profiling stuff can give
more info, I'm not sure.
 
> most of the z2 threads are used, although only 3-4 are used 
> heavily.  what 
> does this show?

It shows that four threads have database connections.  I'm curious as to
why you're only seeing four threads being served by database connections
too.

You may want to ramp your number of threads down to 5 (-t5).  25 doesn't
do much for you because only 7 threads can be using database connections
at any given time.  The high number of threads you're servicing might
actually be slowing things down as they contend for available database
connections.

Why are you frontending this with apache?  how are you servicing two ZEO
clients via a single apache?  Does it do some sort of round-robining?
Or does each box have its own apache?  Is there any reason you're not
just using straight ZServer?  I'm wondering if apache processes
contending to talk to available Zope python threads might be slowing
stuff down?

It doesn't seem as if bumping your number of database connections will
do us any good here, because it doesn't seem you're using all 7.  I'm
not sure *why* you're not using all 7, because you've got at least 15
processes waiting around just on your top screen for DB connections.
Maybe manage_debug isn't telling you the whole story, or maybe you
caught it at a low-load period.  I wonder if the profiling stuff would
help here.

Maybe someone else can jump in here, this is all I can think of at the
moment.

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] zope2.2.0 and what is high load

2000-08-10 Thread Bak @ kedai

On Thu, 10 Aug 2000, Chris McDonough wrote:
> It sounds like your load may not be very small.
>
> Your -t25 setting to threads does not help too much, because the number
> of database connections is hard-limited to 7 in the ZODB source.
>
> It might help to visit the debug section of the control_panel to get an
> understanding of how many threads are actually being used at any given
> moment.  If you find that all 7 threads are being continually used
> simultaneously, and your box can handle more threads (e.g. it's not CPU-
> or RAM-bound already), we can probably figure out how to bump you up to
> more database connection threads per client by changing the source.
> This should really be a knob somewhere.
>
i went to each Zeo client control_panel, and see that there's a mzximum of 
four connections open at any given time.  this is the number of onnections 
right after update snapshot/refresh /auto refresh statement in control_panel.

to confirm, i went to all other zope 2.2.0 instance that i got, - yes, only 
four  spaces available.  i remember seing the number 4 is mentioned in z2.py
from z2.py
 
# The size of the thread pool, if ZODB3 is used.
NUMBER_OF_THREADS=4   
---end

CPU and RAM is plenty in one of the boxes (4 G RAM, 2 CPUs) and quite limited 
in another (700k RAM and 2CPUs).

why wouldn't increasing the number of threads with -t25 affect the way zope 
behave?  do i need to change it in z2.py?  what are the things that i should 
know before i do that?  will this have effect on connections that access data 
from rdb?  sorry if i sound like a fool here, (maybe i am :)), but i don't 
get zope that deep yet.

> There is also a profiling facility inside Control_Panel/debug that does
> some sort of automated performance compilation for you, though I've
> never had a reason to use it.  When it's running, it also purportedly
> slows Zope down quite a bit.
>

profiling is not enabled since i dont really know the heck it does.

> Or, of course, you could always throw in another ZEO client if you're
> getting hit too hard to handle the load.
>

this will be the last resort because it cost us dollars

> I suggest that you:
>
> 1) Monitor your Zope clients' thread usages by using their debug
> facilities.
done.  as mentioned above, the number of connections is four at most.  what 
else should i look for in the debugInfo?

> 2) Monitor your Zope clients' general CPU and memory usages via vmstat
> or top or what-have you.


  9:45am  up 21 days, 20:29,  4 users,  load average: 1.73, 1.63, 1.59
318 processes: 314 sleeping, 4 running, 0 zombie, 0 stopped
CPU  states: 109.0% user, 17.0% system,  0.0% nice, 76.9% idle
CPU0 states: 51.5% user,  8.2% system,  0.0% nice, 39.2% idle
CPU1 states: 57.1% user,  8.3% system,  0.0% nice, 33.5% idle
Mem:  776788K av, 770932K used,   5856K free, 580284K shrd, 144312K buff
Swap: 134616K av,   1540K used, 133076K free378260K cached
 
  PID USER PRI  NI  SIZE  RSS SHARE LC STAT %CPU %MEM   TIME COMMAND
 8907 nobody18   0 70080  68M  1816  3 R10.9  9.0  50:30 python
 8921 nobody 5   0 70080  68M  1816  3 S10.7  9.0  38:24 python
 8924 nobody17   0 70080  68M  1816  3 S10.1  9.0  31:33 python
 8914 nobody 6   0 70080  68M  1816  2 S 7.6  9.0  45:43 python
 8920 nobody11   0 70080  68M  1816  2 S 7.2  9.0  44:23 python
15165 root  17   0   948  948   648  2 R 6.8  0.1   0:03 top
 8919 nobody11   0 70080  68M  1816  2 S 5.3  9.0  40:27 python
 8930 nobody 4   0 70080  68M  1816  3 S 4.2  9.0  30:31 python
 8922 nobody 6   0 70080  68M  1816  2 S 4.0  9.0  36:01 python
 8928 nobody12   0 70080  68M  1816  3 S 4.0  9.0  36:49 python
 8923 nobody 5   0 70080  68M  1816  3 S 3.8  9.0  36:27 python
 8925 nobody10   0 70080  68M  1816  3 S 3.8  9.0  42:51 python
 8927 nobody 3   0 70080  68M  1816  3 S 3.8  9.0  35:40 python
 8915 nobody 3   0 70080  68M  1816  2 S 3.7  9.0  36:08 python
 8917 nobody10   0 70080  68M  1816  2 S 3.7  9.0  39:04 python
 8918 nobody 5   0 70080  68M  1816  2 S 3.7  9.0  32:25 python
 8931 nobody 5   0 70080  68M  1816  3 S 3.7  9.0  32:34 python
 8926 nobody10   0 70080  68M  1816  2 S 3.5  9.0  31:47 python
 8932 nobody10   0 70080  68M  1816  3 S 3.5  9.0  34:38 python
 8933 nobody10   0 70080  68M  1816  2 S 3.5  9.0  37:53 python
 8916 nobody 7   0 70080  68M  1816  2 R 3.1  9.0  41:20 python
13664 postgres   2   0  3696 3696  3204  3 S 1.4  0.4   1:54 postmaster
 8561 postgres   2   0  3716 3716  3208  2 S 1.2  0.4   8:06 postmaster
 8560 postgres   2   0  3724 3724  3220  2 S 1.1  0.4   8:18 postmaster
 8563 postgres   2   0  3740 3740  3212  3 S 0.9  0.4   8:01 postmaster
13825 postgres   2   0  3644 3644  3164  3 S 0.9  0.4   1:00 postmaster   
---end top-

most of the z2 threads are used, although only 3-4 are used heav

RE: [Zope] zope2.2.0 and what is high load

2000-08-10 Thread Chris McDonough

It sounds like your load may not be very small.

Your -t25 setting to threads does not help too much, because the number
of database connections is hard-limited to 7 in the ZODB source.

It might help to visit the debug section of the control_panel to get an
understanding of how many threads are actually being used at any given
moment.  If you find that all 7 threads are being continually used
simultaneously, and your box can handle more threads (e.g. it's not CPU-
or RAM-bound already), we can probably figure out how to bump you up to
more database connection threads per client by changing the source.
This should really be a knob somewhere.

There is also a profiling facility inside Control_Panel/debug that does
some sort of automated performance compilation for you, though I've
never had a reason to use it.  When it's running, it also purportedly
slows Zope down quite a bit.

Or, of course, you could always throw in another ZEO client if you're
getting hit too hard to handle the load.

I suggest that you:

1) Monitor your Zope clients' thread usages by using their debug
facilities.
2) Monitor your Zope clients' general CPU and memory usages via vmstat
or top or what-have you.

Then report back your findings and we'll see if we can spot a
bottleneck.

> -Original Message-
> From: bak @ kedai [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, August 10, 2000 11:02 AM
> To: [EMAIL PROTECTED]
> Subject: [Zope] zope2.2.0 and what is high load
> 
> 
> oo zopistas
> i have a question.
> being a small time site maintainer, i don't quite know how to 
> classify the
> situation i'm having now.
> 
> the site is front ended with apache, with mod_pcgi2.  zope 
> 2.2.0 (running
> with -t 25) and  rh 6.2
> 
> how can i know that the load i'm having is a big load?  i've 
> been getting
> more than 200 simultaneos connections(ps ax|grep http|wc -l) 
> and that affect
> the response time.
> 
> if the connection is less than 150, then zope's response time 
> is great.
> 
> my Q:  what do you BIG SITE admin have?  do you encounter 
> slow down?  i need
> some sort of verification that more than 200 simultaneous 
> connect is really
> a big load.  i hope not to have to resort to other costly and 
> proprietery
> solutions just because of my ignorance.
> 
> i know table design does affect loading time, and that will 
> be tackled.
> cache is an option that i've looked at but have to disregard 
> for now since i
> can't get ie to behave.  i know of the how to and will be 
> looking at it.
> i've scaled the site (was once more than 400 connections at 
> one time) with
> ZEO to two servers.
> 
> i now hope to have insights from yu BIG SITE admins
> 
> looking forward to your input, help, and pointers.  i'll try 
> and document
> every thing and put a howto.
> 
> thanks
> 
> 
> ___
> Zope maillist  -  [EMAIL PROTECTED]
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
> 

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] zope2.2.0 and what is high load

2000-08-10 Thread bak @ kedai

oo zopistas
i have a question.
being a small time site maintainer, i don't quite know how to classify the
situation i'm having now.

the site is front ended with apache, with mod_pcgi2.  zope 2.2.0 (running
with -t 25) and  rh 6.2

how can i know that the load i'm having is a big load?  i've been getting
more than 200 simultaneos connections(ps ax|grep http|wc -l) and that affect
the response time.

if the connection is less than 150, then zope's response time is great.

my Q:  what do you BIG SITE admin have?  do you encounter slow down?  i need
some sort of verification that more than 200 simultaneous connect is really
a big load.  i hope not to have to resort to other costly and proprietery
solutions just because of my ignorance.

i know table design does affect loading time, and that will be tackled.
cache is an option that i've looked at but have to disregard for now since i
can't get ie to behave.  i know of the how to and will be looking at it.
i've scaled the site (was once more than 400 connections at one time) with
ZEO to two servers.

i now hope to have insights from yu BIG SITE admins

looking forward to your input, help, and pointers.  i'll try and document
every thing and put a howto.

thanks


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )