[Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Roy Mathew
Folks, I am looking for some configuration advice.

I am running a zope3 application that uses the ZODB. I expect a peak load of
a 100 concurrent users, and am on a *quad* core Intel Xeon Linux box. Am I
better off running 2 or 3 ZEO clients talking to the app-server (I am
assuming that the OS will load balance so that all processors are utilized
well). Or should I not use ZEO at all, and simply assign a large cache, a
large connection pool and lots of threads to a single process. I am sure
that this is an issue many of you have had to contend with. I would
appreciate some rough idea of what the numbers should be for each of the 2
scenarios I outline.

-- 
Roy.
___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Andreas Jung
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

schrieb Roy Mathew:
> Folks, I am looking for some configuration advice.
>
> I am running a zope3 application that uses the ZODB. I expect a
> peak load of a 100 concurrent users, and am on a *quad* core Intel
> Xeon Linux box. Am I better off running 2 or 3 ZEO clients talking
> to the app-server (I am assuming that the OS will load balance so
> that all processors are utilized well). Or should I not use ZEO at
> all, and simply assign a large cache, a large connection pool and
> lots of threads to a single process. I am sure that this is an
> issue many of you have had to contend with. I would appreciate some
> rough idea of what the numbers should be for each of the 2
> scenarios I outline.
>

You have to provide much more details like #concurrent users,
#concurrent requests, #concurrent writes, reads, the nature of the
application,
kind of data etc.

- -aj
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkso4IUACgkQCJIWIbr9KYxrTQCePlLWkkBhL4JmTIQuVWTh/BDO
N08AnA9PX/JweJoEwJgwLQhj9DzEaW10
=Nczp
-END PGP SIGNATURE-

<>___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Roy Mathew
Hope this helps make things a bit clearer:

Concurrent users: 100
Concurrent requests (worst case): 100
Concurrent writes: 1-2 per request
Application: online quiz
Data written: small updates (100 bytes, approximately)

Thanks... I am just looking for some rough guidelines.

On Wed, Dec 16, 2009 at 6:58 PM, Andreas Jung  wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> schrieb Roy Mathew:
> > Folks, I am looking for some configuration advice.
> >
> > I am running a zope3 application that uses the ZODB. I expect a
> > peak load of a 100 concurrent users, and am on a *quad* core Intel
> > Xeon Linux box. Am I better off running 2 or 3 ZEO clients talking
> > to the app-server (I am assuming that the OS will load balance so
> > that all processors are utilized well). Or should I not use ZEO at
> > all, and simply assign a large cache, a large connection pool and
> > lots of threads to a single process. I am sure that this is an
> > issue many of you have had to contend with. I would appreciate some
> > rough idea of what the numbers should be for each of the 2
> > scenarios I outline.
> >
>
> You have to provide much more details like #concurrent users,
> #concurrent requests, #concurrent writes, reads, the nature of the
> application,
> kind of data etc.
>
> - -aj
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.10 (Darwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAkso4IUACgkQCJIWIbr9KYxrTQCePlLWkkBhL4JmTIQuVWTh/BDO
> N08AnA9PX/JweJoEwJgwLQhj9DzEaW10
> =Nczp
> -END PGP SIGNATURE-
>
>


-- 
Roy.
___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Jim Fulton
On Wed, Dec 16, 2009 at 8:26 AM, Roy Mathew  wrote:
> Folks, I am looking for some configuration advice.
> I am running a zope3 application that uses the ZODB. I expect a peak load of
> a 100 concurrent users, and am on a *quad* core Intel Xeon Linux box. Am I
> better off running 2 or 3 ZEO clients talking to the app-server (I am
> assuming that the OS will load balance so that all processors are utilized
> well). Or should I not use ZEO at all, and simply assign a large cache, a
> large connection pool and lots of threads to a single process. I am sure
> that this is an issue many of you have had to contend with. I would
> appreciate some rough idea of what the numbers should be for each of the 2
> scenarios I outline.

Assuming that your application ends up being CPU bound, you should use
4 single-threaded processes. (One per core.)  Python can't (generally) make
use of more than one processor.

If you're not CPU bound, then  you can increase the number of threads until
you are.  That's broad-brush advice. Keep in mind that the more
threads/processes you have, the more  memory you'll use for a given
cache size.  The optimum cache size will depend a lot on your app.

Jim

-- 
Jim Fulton
___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Andreas Jung
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

schrieb Roy Mathew:
> Folks, I am looking for some configuration advice.
>
> I am running a zope3 application that uses the ZODB. I expect a
> peak load of a 100 concurrent users, and am on a *quad* core Intel
> Xeon Linux box. Am I better off running 2 or 3 ZEO clients talking
> to the app-server (I am assuming that the OS will load balance so
> that all processors are utilized well). Or should I not use ZEO at
> all, and simply assign a large cache, a large connection pool and
> lots of threads to a single process. I am sure that this is an
> issue many of you have had to contend with. I would appreciate some
> rough idea of what the numbers should be for each of the 2
> scenarios I outline.
>
The number of worker threads (and clients) basically depends on how much
concurrent requests you have. Four worker threads can deal with 100
requests/second
when each request can be processed fast. Long running requests will
block other
requests...so you must measure how long a request takes in average..then
you can do your own calculations. The cache size depends on various
factors..
you have to check the ZODB activity in order to perform fine-tuning.
There is neither a golden bullet nor a recipe for the perfect
setup...start with
a common setup of two clients or so and see how far you can go...then
adjust
your parameters over time.

- -aj
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkso7jgACgkQCJIWIbr9KYxJuACgnSBYveX6o5s6405R4Q+U9i5M
wg4AnjjM0wuytuDaWF0GEs5yF/DbPU+C
=tzFb
-END PGP SIGNATURE-

<>___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Adam GROSZER
Hey Roy,

I'd say put a small benchmark together that does the expected load and
see which config performs better.

I guess on the short run it's easier to get by with a single
FileStorage and multiple threads, but on the long run maybe with more
processes.

Wednesday, December 16, 2009, 2:32:35 PM, you wrote:

RM> Hope this helps make things a bit clearer:

RM> Concurrent users: 100
RM> Concurrent requests (worst case): 100

RM> Concurrent writes: 1-2 per request

RM> Application: online quiz

RM> Data written: small updates (100 bytes, approximately)
RM>  



RM> Thanks... I am just looking for some rough guidelines.


RM> On Wed, Dec 16, 2009 at 6:58 PM, Andreas Jung  wrote:
RM>  
RM> -BEGIN PGP SIGNED MESSAGE-
RM>  Hash: SHA1
RM>  
RM>  schrieb Roy Mathew:
RM>  
>> Folks, I am looking for some configuration advice.
 >>
 >> I am running a zope3 application that uses the ZODB. I expect a
 >> peak load of a 100 concurrent users, and am on a *quad* core Intel
 >> Xeon Linux box. Am I better off running 2 or 3 ZEO clients talking
 >> to the app-server (I am assuming that the OS will load balance so
 >> that all processors are utilized well). Or should I not use ZEO at
 >> all, and simply assign a large cache, a large connection pool and
 >> lots of threads to a single process. I am sure that this is an
 >> issue many of you have had to contend with. I would appreciate some
 >> rough idea of what the numbers should be for each of the 2
 >> scenarios I outline.
 >>
RM>  
RM>  

RM> You have to provide much more details like #concurrent users,
RM>  #concurrent requests, #concurrent writes, reads, the nature of the
RM>  application,
RM>  kind of data etc.
RM>  
RM>  - -aj
RM>  -BEGIN PGP SIGNATURE-
RM>  Version: GnuPG v1.4.10 (Darwin)
RM>  Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
RM>  
RM>  iEYEARECAAYFAkso4IUACgkQCJIWIbr9KYxrTQCePlLWkkBhL4JmTIQuVWTh/BDO
RM>  N08AnA9PX/JweJoEwJgwLQhj9DzEaW10
RM>  =Nczp
RM>  -END PGP SIGNATURE-
RM>  
RM>  






-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
True humility is not an abject, groveling, self-despising spirit; it is but a 
right estimate of ourselves as God sees us. 
- Tryon Edwards 

___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Roy Mathew
Thanks for the helpful replies; I was also curious: assuming that one has a
cache of a certain size, is there a way to inspect it (ie: to see how
full/empty it is, etc..) so one can tell how effective it is at runtime. It
would beat repeatedly running  benchmarks while varying the cache size.

On Wed, Dec 16, 2009 at 7:57 PM, Andreas Jung  wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> schrieb Roy Mathew:
> > Folks, I am looking for some configuration advice.
> >
> > I am running a zope3 application that uses the ZODB. I expect a
> > peak load of a 100 concurrent users, and am on a *quad* core Intel
> > Xeon Linux box. Am I better off running 2 or 3 ZEO clients talking
> > to the app-server (I am assuming that the OS will load balance so
> > that all processors are utilized well). Or should I not use ZEO at
> > all, and simply assign a large cache, a large connection pool and
> > lots of threads to a single process. I am sure that this is an
> > issue many of you have had to contend with. I would appreciate some
> > rough idea of what the numbers should be for each of the 2
> > scenarios I outline.
> >
> The number of worker threads (and clients) basically depends on how much
> concurrent requests you have. Four worker threads can deal with 100
> requests/second
> when each request can be processed fast. Long running requests will
> block other
> requests...so you must measure how long a request takes in average..then
> you can do your own calculations. The cache size depends on various
> factors..
> you have to check the ZODB activity in order to perform fine-tuning.
> There is neither a golden bullet nor a recipe for the perfect
> setup...start with
> a common setup of two clients or so and see how far you can go...then
> adjust
> your parameters over time.
>
> - -aj
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.10 (Darwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAkso7jgACgkQCJIWIbr9KYxJuACgnSBYveX6o5s6405R4Q+U9i5M
> wg4AnjjM0wuytuDaWF0GEs5yF/DbPU+C
> =tzFb
> -END PGP SIGNATURE-
>
>


-- 
Roy.
___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] threads, pool size and cache recommendations (quad core)

2009-12-16 Thread Andreas Jung
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

schrieb Roy Mathew:
> Thanks for the helpful replies; I was also curious: assuming that
> one has a cache of a certain size, is there a way to inspect it
> (ie: to see how full/empty it is, etc..) so one can tell how
> effective it is at runtime. It would beat repeatedly running
> benchmarks while varying the cache size.
>
>

Perhaps

http://pypi.python.org/pypi/zc.zodbactivitylog/0.1.1

is of interest.

At least Zope 2 apps have a useful ttw-inspector for threads and
caches...not sure
about ZTK-based apps.

- -aj
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkspwEwACgkQCJIWIbr9KYzBbgCg6V5mCO3jz2IVnDfKaMEDWRfo
QR4AoLji9DUHowy31EZeiAqXgTm5f2ks
=9dHu
-END PGP SIGNATURE-

<>___
Zope3-users mailing list
Zope3-users@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users