Re: [Zope] Product refreshing in Zope 2.9

2006-01-31 Thread Lennart Regebro
On 1/30/06, Dieter Maurer [EMAIL PROTECTED] wrote:
 Lennart Regebro wrote at 2006-1-30 15:18 +0100:
  ...
 Personally I haven't had a situation trivial enough for refresh to
 work for years...

 As I reported earlier, all that is needed is a small tool
 to allows to register product dependencies and that, when
 one product is refreshed, automatically refreshes all dependent
 products as well. Works very well and speeds up product
 development significantly.

Uhm. But the refresh allows you to do that. I just usually doesn't get
it to work.

And now with Five, zcml becomes a refresh problem as well, so it's
only half the solution for me anyway.

--
Lennart Regebro, Nuxeo http://www.nuxeo.com/
CPS Content Management http://www.cps-project.org/
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Florent Guillaume

Peter Bengtsson wrote:

On 1/30/06, Andreas Jung wrote:

--On 30. Januar 2006 17:39:11 + Peter Bengtsson wrote:

It's not a strange product. It's quite simple in fact.
Not being able to refresh without restarting means that I can't use
Zope 2.9 for python product development.

Why is refresh a requirement for doing Zope development? I am doing Zope
development since five or six years and I have never done any development
using Refresh...so there must be something very special with your
development approach?!


Sorry. It's not a _requirement_. But without it I loose productivity.
(see my previous email on this topic with the human benchmark,
ValueErrors and lost SESSIONS).

I too have several years of zope programming beyond the ZMI and have
developed many products and refreshing is the only way I know to
quickly test changes.
Having to wait a few seconds for each test is not an option.

How do you solve this problem without refreshing? Or are you ready to
wait for the zope restart and avoid it by writing more unit tests?


Yes most people who are serious about their developments use unit tests and 
functional tests and non-regression tests. They start by coding tests and 
doctests about code they've not yet written.


In most cases when I develop, I don't go to the ZMI until quite late in the 
process. Going to the ZMI is not productive.


That's why I, like others in this thread, don't care about refresh.

Florent

--
Florent Guillaume, Nuxeo (Paris, France)   CTO, Director of RD
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Packing data.fs programmatically

2006-01-31 Thread Jonathan Cleaver
I am using the following module to pack my data.fs programmatically 
before a backup is made. This was largely taken out of the Zopelabs 
cookbook - thanks!




def packZODB():

  try:
import os, sys
os.chdir(/path/to/Zope/python)
sys.path+=['/path/to/Zope/python/was/required/to/load/Zope/module']
import Zope
Zope.configure(/path/to/zope.conf)

app = Zope.app()

app.Control_Panel.Database.manage_pack(days=0)
get_transaction().commit()
app._p_jar.close()

return 1

  except Exception, inst:
for arg in inst.args:
  print Oh dear! %s % arg

--
Now for the wierd bit. I successfully ran the code that went into this 
module line-by-line in the Python interpreter. The data.fs was 
beautifully packed. However, when I run this script from the command 
line (through another script that acts as a hook) the line app = 
Zope.app() fails with the error No such file or directory.


Now I am confused, coz the code lines that you would expect to fail if 
either of the required paths were not correct ran quite happily.


I am running Python 2.3.5 and Zope 2.7.

Does anyone have any thoughts?

Cheers

Jonathan Cleaver

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Packing data.fs programmatically

2006-01-31 Thread Chris Withers

Jonathan Cleaver wrote:
I am using the following module to pack my data.fs programmatically 
before a backup is made. This was largely taken out of the Zopelabs 
cookbook - thanks!


zeopack.py in the utilities\ZODBTools folder of your Zope distro is what 
you're after, no need for home-grown hackishness...



--
Now for the wierd bit. I successfully ran the code that went into this 
module line-by-line in the Python interpreter. The data.fs was 
beautifully packed. However, when I run this script from the command 
line (through another script that acts as a hook) the line app = 
Zope.app() fails with the error No such file or directory.


My guess is that your environment is set up differently when it fails, 
PYTHON_PATH and the like...


cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Packing data.fs programmatically

2006-01-31 Thread Reinoud van Leeuwen
On Tue, Jan 31, 2006 at 11:38:34AM +, Jonathan Cleaver wrote:
 I am using the following module to pack my data.fs programmatically 
 before a backup is made. This was largely taken out of the Zopelabs 
 cookbook - thanks!

I do it though the webinterface with a wget from the crontab:

@daily cd /some_path/zeo_server/var  \
   cp Data.fs Data.fs.pre_pack_backup  \
   /usr/local/bin/wget \
  'http://myzopeserver/Control_Panel/Database/manage_pack?days:float=0'\
   --http-user=special_user \
   --http-passwd='some_password' \
   --spider \ 
   cp Data.fs Data.fs.post_pack_backup


-- 
__
Nothing is as subjective as reality
Reinoud van Leeuwen[EMAIL PROTECTED]
http://www.xs4all.nl/~reinoud
__
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Product refreshing in Zope 2.9

2006-01-31 Thread Peter Bengtsson
On 1/30/06, Dieter Maurer [EMAIL PROTECTED] wrote:
 Peter Bengtsson wrote at 2006-1-30 18:54 +:
 I've noticed another strange behaviour with the Acquisition module in
 Zope 2.9 that might give us some clues as to why refreshing doesn't
 work.
 
 Imagine some code that looks like this::
 
 from Acquisition import aq_parent
 
 class MyProduct(Folder):
 def index_html(self):
 print type(aq_parent) is None
 return Hello World!
 
 The first time I run this, it prints False to stdout because
 ac_parent is of course a function.
 BUT, if I refresh the product (no change made to the source) and run
 this index_html() again it instead prints True because ac_parent has
 become None.
 Isn't that odd?

 Indeed, especially because no type can be None!

Oops! A typo.
It should be::

  def index_html(self):
   print aq_parent is None
   return Hello World!

 It is known that refreshing (more generally reloading a Python module)
 can cause objects apparently becoming None.
 This happens because the variables defined in the old module
 instance are rebound to None when the module is released.

 This would explain that aq_parent in your index_html would
 appear as None if you happen to access an object still associated
 with the old class. However, the type of None is NoneType and
 not None.



 As written earlier: refreshing is essentially a Python feature
 (delete a set of modules from sys.modules, then reimport some of
 them again) rather than a Zope feature.
 It should be possible to reproduce your weird observations
 with Python operations only.
 I tried but was not yet able to reproduce it (I still use Zope 2.8
 (but that should not matter) and Python 2.4.1).


I noticed that since zope 2.8, the function manage_performRefresh()
hasn't changed. The only difference I can see is that (my) zope 2.8.5
comes with ZODB 3.4.2 and my zope 2.9.0 comes with ZODB 3.6.0.
The code is this::

 if RefreshFuncs.performFullRefresh(self._p_jar, self.id):
from ZODB import Connection
Connection.resetCaches() # Clears cache in future connections.
message = 'Product refreshed.'

There is no code difference in RefreshFuncs.performFullRefresh()
between zope 2.8.5 and zope 2.9.0.

If someone can guide me I'd like to dig deeper into
ZODB.Connection.resetCaches() to see if there's be a big difference in
version 3.6 that might have caused my beloved refresh to stop working.




--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: Packing data.fs programmatically

2006-01-31 Thread Jonathan Cleaver

Ah-ha, that's another approach I had not thought of!

Many thanks!

Cheers

Jonathan

Reinoud van Leeuwen wrote:

On Tue, Jan 31, 2006 at 11:38:34AM +, Jonathan Cleaver wrote:

I am using the following module to pack my data.fs programmatically 
before a backup is made. This was largely taken out of the Zopelabs 
cookbook - thanks!



I do it though the webinterface with a wget from the crontab:

@daily cd /some_path/zeo_server/var  \
   cp Data.fs Data.fs.pre_pack_backup  \
   /usr/local/bin/wget \
  'http://myzopeserver/Control_Panel/Database/manage_pack?days:float=0'\
   --http-user=special_user \
   --http-passwd='some_password' \
   --spider \ 
   cp Data.fs Data.fs.post_pack_backup





___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Peter Bengtsson
On 1/31/06, Florent Guillaume [EMAIL PROTECTED] wrote:


 Peter Bengtsson wrote:
  On 1/30/06, Andreas Jung wrote:
  --On 30. Januar 2006 17:39:11 + Peter Bengtsson wrote:
  It's not a strange product. It's quite simple in fact.
  Not being able to refresh without restarting means that I can't use
  Zope 2.9 for python product development.
  Why is refresh a requirement for doing Zope development? I am doing Zope
  development since five or six years and I have never done any development
  using Refresh...so there must be something very special with your
  development approach?!
 
  Sorry. It's not a _requirement_. But without it I loose productivity.
  (see my previous email on this topic with the human benchmark,
  ValueErrors and lost SESSIONS).
 
  I too have several years of zope programming beyond the ZMI and have
  developed many products and refreshing is the only way I know to
  quickly test changes.
  Having to wait a few seconds for each test is not an option.
 
  How do you solve this problem without refreshing? Or are you ready to
  wait for the zope restart and avoid it by writing more unit tests?

 Yes most people who are serious about their developments use unit tests and
 functional tests and non-regression tests. They start by coding tests and
 doctests about code they've not yet written.

 In most cases when I develop, I don't go to the ZMI until quite late in the
 process. Going to the ZMI is not productive.

I don't go into the ZMI either, I have scripts that call
manage_performRefresh() from the commandline.
Few of my projects are brain surgery. Often I develop products for
clients that don't need a rocket engine, just a neat app to handle
their content.
It usually doesn't require brains, just time. BUT I don't want to go
back to develop this content handling with Script (Python) and ZSQL
Methods.

 That's why I, like others in this thread, don't care about refresh.


Like I mentioned elsewhere, with my setup, restarting zope is gravely
inferior to zope-restart for product development.

I'm happy to share my setup to Open Source but it's quite personal
so I'd have to spend as much time explaining it as I have spent
writing it.
Hmm... perhaps a screencast?


--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Jens Vagelpohl


On 31 Jan 2006, at 12:02, Peter Bengtsson wrote:

That's why I, like others in this thread, don't care about refresh.



Like I mentioned elsewhere, with my setup, restarting zope is gravely
inferior to zope-restart for product development.

I'm happy to share my setup to Open Source but it's quite personal
so I'd have to spend as much time explaining it as I have spent
writing it.
Hmm... perhaps a screencast?


I don't think there is any need for that. The situation is pretty  
simple: You have an itch, but no one cares enough to scratch it for  
you. The only sane way forward is for you to scratch the itch yourself.


jens

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Peter Bengtsson
On 1/31/06, Jens Vagelpohl [EMAIL PROTECTED] wrote:

 On 31 Jan 2006, at 12:02, Peter Bengtsson wrote:
  That's why I, like others in this thread, don't care about refresh.
 
 
  Like I mentioned elsewhere, with my setup, restarting zope is gravely
  inferior to zope-restart for product development.
 
  I'm happy to share my setup to Open Source but it's quite personal
  so I'd have to spend as much time explaining it as I have spent
  writing it.
  Hmm... perhaps a screencast?

 I don't think there is any need for that. The situation is pretty
 simple: You have an itch, but no one cares enough to scratch it for
 you. The only sane way forward is for you to scratch the itch yourself.

But that's what I'm doing!
Thanks to Dieter I've got som genuine technical help on what it might
be instead of just people saying that's not how I do it, give up

And I don't understand how Zope product refresh doesn't have a higher
attention priority when it's so useful. As far as I know, it's the
only way to make changes to a zope2 product without having to restart
the server causing downtime and lost sessions.

--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Packing data.fs programmatically

2006-01-31 Thread Chris Withers

Reinoud van Leeuwen wrote:

On Tue, Jan 31, 2006 at 11:38:34AM +, Jonathan Cleaver wrote:
I am using the following module to pack my data.fs programmatically 
before a backup is made. This was largely taken out of the Zopelabs 
cookbook - thanks!


I do it though the webinterface with a wget from the crontab:

@daily cd /some_path/zeo_server/var  \
   cp Data.fs Data.fs.pre_pack_backup  \
   /usr/local/bin/wget \
  'http://myzopeserver/Control_Panel/Database/manage_pack?days:float=0'\
   --http-user=special_user \
   --http-passwd='some_password' \
   --spider \ 
   cp Data.fs Data.fs.post_pack_backup


Oh, ouch ouch bad fragile pain failure suffering...

URL whacking is evil and must be punished...

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Florent Guillaume

Peter Bengtsson wrote:

On 1/31/06, Jens Vagelpohl [EMAIL PROTECTED] wrote:

On 31 Jan 2006, at 12:02, Peter Bengtsson wrote:

That's why I, like others in this thread, don't care about refresh.


Like I mentioned elsewhere, with my setup, restarting zope is gravely
inferior to zope-restart for product development.

I'm happy to share my setup to Open Source but it's quite personal
so I'd have to spend as much time explaining it as I have spent
writing it.
Hmm... perhaps a screencast?

I don't think there is any need for that. The situation is pretty
simple: You have an itch, but no one cares enough to scratch it for
you. The only sane way forward is for you to scratch the itch yourself.


But that's what I'm doing!
Thanks to Dieter I've got som genuine technical help on what it might
be instead of just people saying that's not how I do it, give up

And I don't understand how Zope product refresh doesn't have a higher
attention priority when it's so useful.


Refresh works well in limited situations, but it *cannot work* if you have 
global registries or many interrelated modules.



As far as I know, it's the
only way to make changes to a zope2 product without having to restart
the server causing downtime and lost sessions.


Then use ZEO. And on a development server you can have the sessions in a 
shared ZEO filestorage.


Florent

--
Florent Guillaume, Nuxeo (Paris, France)   Director of RD
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: Packing data.fs programmatically

2006-01-31 Thread Max M

Chris Withers wrote:

Reinoud van Leeuwen wrote:



I do it though the webinterface with a wget from the crontab:

@daily cd /some_path/zeo_server/var  \
   cp Data.fs Data.fs.pre_pack_backup  \
   /usr/local/bin/wget \
  
'http://myzopeserver/Control_Panel/Database/manage_pack?days:float=0'\

   --http-user=special_user \
   --http-passwd='some_password' \
   --spider \cp Data.fs Data.fs.post_pack_backup



Oh, ouch ouch bad fragile pain failure suffering...

URL whacking is evil and must be punished...


What is the better way then? ZEO and ordinary Python scripts?


--

hilsen/regards Max M, Denmark

http://www.mxm.dk/
IT's Mad Science

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Jens Vagelpohl


On 31 Jan 2006, at 13:05, Peter Bengtsson wrote:

And I don't understand how Zope product refresh doesn't have a higher
attention priority when it's so useful. As far as I know, it's the
only way to make changes to a zope2 product without having to restart
the server causing downtime and lost sessions.


You're assuming because you think something is useful other people  
must think the same. However, usefulness is in the eye of the  
beholder. I find it potentially harmful.


jens

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Packing data.fs programmatically

2006-01-31 Thread Chris Withers

ZEO  Stepper

Or if you don't like Stepper, then zopectl run...

Chris

Max M wrote:

Chris Withers wrote:

Reinoud van Leeuwen wrote:



I do it though the webinterface with a wget from the crontab:

@daily cd /some_path/zeo_server/var  \
   cp Data.fs Data.fs.pre_pack_backup  \
   /usr/local/bin/wget \
  
'http://myzopeserver/Control_Panel/Database/manage_pack?days:float=0'\

   --http-user=special_user \
   --http-passwd='some_password' \
   --spider \cp Data.fs Data.fs.post_pack_backup



Oh, ouch ouch bad fragile pain failure suffering...

URL whacking is evil and must be punished...


What is the better way then? ZEO and ordinary Python scripts?




--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] zserver-threads

2006-01-31 Thread Jake
I just spent a few minutes googling it and failed, but I thought I read on
the Zope wiki that for higher trafic sites, it was better to have bigger
caches (50,000+) and fewer threads (2).

Jake
___
http://www.ZopeZone.com


On Mon, January 30, 2006 5:47 pm, Jens Vagelpohl said:

 On 30 Jan 2006, at 22:43, Einar Næss Jensen wrote:

 how many do I need, and how will I know?

 You do not need to worry about it unless you have a really unusual
 setup. The default is fine for 99.9% of all situations.

 jens

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



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


[Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Peter Bengtsson
On 1/31/06, Florent Guillaume [EMAIL PROTECTED] wrote:


 Peter Bengtsson wrote:
  On 1/31/06, Jens Vagelpohl [EMAIL PROTECTED] wrote:
  On 31 Jan 2006, at 12:02, Peter Bengtsson wrote:
  That's why I, like others in this thread, don't care about refresh.
 
  Like I mentioned elsewhere, with my setup, restarting zope is gravely
  inferior to zope-restart for product development.
 
  I'm happy to share my setup to Open Source but it's quite personal
  so I'd have to spend as much time explaining it as I have spent
  writing it.
  Hmm... perhaps a screencast?
  I don't think there is any need for that. The situation is pretty
  simple: You have an itch, but no one cares enough to scratch it for
  you. The only sane way forward is for you to scratch the itch yourself.
 
  But that's what I'm doing!
  Thanks to Dieter I've got som genuine technical help on what it might
  be instead of just people saying that's not how I do it, give up
 
  And I don't understand how Zope product refresh doesn't have a higher
  attention priority when it's so useful.

 Refresh works well in limited situations, but it *cannot work* if you have
 global registries or many interrelated modules.

The setup I use takes care of dependencies in a semi-manual way. In my
refresh-config I define which other products depend on the one I'm
defining. Problem solved.

  As far as I know, it's the
  only way to make changes to a zope2 product without having to restart
  the server causing downtime and lost sessions.

 Then use ZEO. And on a development server you can have the sessions in a
 shared ZEO filestorage.

Didn't know that was possible.
Would still be nice to have a working product refresh in z2.9 :)


--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Packing data.fs programmatically

2006-01-31 Thread Reinoud van Leeuwen
On Tue, Jan 31, 2006 at 01:36:36PM +, Chris Withers wrote:

 ZEO  Stepper
 
 Or if you don't like Stepper, then zopectl run...
 
 Chris

Sounds interesting. Do you have a working example that you can post 
here?

-- 
__
Nothing is as subjective as reality
Reinoud van Leeuwen[EMAIL PROTECTED]
http://www.xs4all.nl/~reinoud
__
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] zserver-threads

2006-01-31 Thread Jake
http://plone.org/documentation/how-to/threads-vs-cache-size

There it was.

Jake
___
http://www.ZopeZone.com


On Tue, January 31, 2006 9:59 am, Jake said:
 I just spent a few minutes googling it and failed, but I thought I read on
 the Zope wiki that for higher trafic sites, it was better to have bigger
 caches (50,000+) and fewer threads (2).

 Jake
 ___
 http://www.ZopeZone.com


 On Mon, January 30, 2006 5:47 pm, Jens Vagelpohl said:

 On 30 Jan 2006, at 22:43, Einar Næss Jensen wrote:

 how many do I need, and how will I know?

 You do not need to worry about it unless you have a really unusual
 setup. The default is fine for 99.9% of all situations.

 jens

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



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



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


Re: [Zope] zserver-threads

2006-01-31 Thread Jens Vagelpohl


On 31 Jan 2006, at 14:59, Jake wrote:

I just spent a few minutes googling it and failed, but I thought I  
read on
the Zope wiki that for higher trafic sites, it was better to have  
bigger

caches (50,000+) and fewer threads (2).


The term high traffic site doesn't mean a thing when it comes to  
threads or the cache (or in general). It's way too general.  
Determinations about cache sizes or thread numbers can only be made  
with specific requirements, (estimated) traffic data, hardware  
specifications and knowledge about the Zope application in hand, period.


Less threads and bigger caches only make sense when you are under  
memory pressure and (hopefully) your pages render fast enough so that  
less threads can still satisfy the rendering load.


jens

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] zserver-threads

2006-01-31 Thread Jens Vagelpohl


On 31 Jan 2006, at 15:01, Jake wrote:


http://plone.org/documentation/how-to/threads-vs-cache-size


That article contains little information to back up the conclusions,  
and some of it is patently wrong. Another case of hearsay and half- 
thruths being propagated by well-meaning but uninformed parties.


jens

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Packing data.fs programmatically

2006-01-31 Thread Chris Withers

The product comes with a whole raft of examples for doing things:

http://www.simplistix.co.uk/software/zope/stepper

base.py and config.py contain the examples, lemme know if you have any 
problems...


Chris

Reinoud van Leeuwen wrote:

On Tue, Jan 31, 2006 at 01:36:36PM +, Chris Withers wrote:


ZEO  Stepper

Or if you don't like Stepper, then zopectl run...

Chris


Sounds interesting. Do you have a working example that you can post 
here?




--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] zserver-threads

2006-01-31 Thread Andreas Jung



--On 31. Januar 2006 12:32:35 -0500 Jake [EMAIL PROTECTED] wrote:


It would be nice if someone post some guidelines for threads and cache
size, like a table.

RAM / Hits / Threads / Cache Size
2 GB / 20,000,000 / 3 / 50,000
5 GB / 20,000,000 / 5 / 100,000


Such a table is pretty much worthless. A ZEO cache of 50.000 objects tells 
you nothing about the RAM to be used. The cache could hold 50.000 small 
objects or 50.000 very large objects eating all your RAM. The relation 
between #threads and hits also depends very much on your application.
To make it short: dealing with larger installation always requires some 
iterations of oberserving your system and tuning it.


-aj


pgpwUTXp3lKD6.pgp
Description: PGP signature
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Peter Bengtsson
On 1/31/06, Lennart Regebro [EMAIL PROTECTED] wrote:
 On 1/31/06, Peter Bengtsson [EMAIL PROTECTED] wrote:
   Refresh works well in limited situations, but it *cannot work* if you have
   global registries or many interrelated modules.
  
  The setup I use takes care of dependencies in a semi-manual way. In my
  refresh-config I define which other products depend on the one I'm
  defining. Problem solved.

 Well, if you have actually solved this problem, and therefore made
 Refresh useful, one question that pops up is why this hasn't been
 moved into Zope. ;)


The setup is quite personal and ad hoc and probably only works on linux.
I'm going to write an article about it some time soon but I've been
waiting for finishing my company's website first where I'll publish it
together with the code.
In all honesty: lazyness :)

--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] zserver-threads

2006-01-31 Thread Jake
It would be nice if someone post some guidelines for threads and cache
size, like a table.

RAM / Hits / Threads / Cache Size
2 GB / 20,000,000 / 3 / 50,000
5 GB / 20,000,000 / 5 / 100,000

Jake
___
http://www.ZopeZone.com


On Tue, January 31, 2006 10:05 am, Jens Vagelpohl said:

 On 31 Jan 2006, at 14:59, Jake wrote:

 I just spent a few minutes googling it and failed, but I thought I
 read on
 the Zope wiki that for higher trafic sites, it was better to have
 bigger
 caches (50,000+) and fewer threads (2).

 The term high traffic site doesn't mean a thing when it comes to
 threads or the cache (or in general). It's way too general.
 Determinations about cache sizes or thread numbers can only be made
 with specific requirements, (estimated) traffic data, hardware
 specifications and knowledge about the Zope application in hand, period.

 Less threads and bigger caches only make sense when you are under
 memory pressure and (hopefully) your pages render fast enough so that
 less threads can still satisfy the rendering load.

 jens

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



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


Re: [Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Tim Nash
This thread has been interesting. I wish there was even more writing
about how people develop with zope. I have completed my first zope
product and I find that the change in mindset is the biggest
challenge. Zope is cool but it is quite different from php or java or
cgi. I wish that there was complete basic application that had all the
standard features in it so that a new developer could just start with
that template and modify. I have downloaded many of the products from
zope.org but they really don't tie everything togather. I am looking
for something that covers login in users, building tables out of data
stored in zodb, getters and setters for objects in the zodb,
collecting a variable in one page and passing it on to another page
where it modifies the data display, working with Sessions, etc. I
guess what I'm looking for is a template for a real application, not
for the individual pieces of functionality. And if it it has
associated test framework, unit tests, setup scripts etc. that is even
better. One application that has it all factored out to the most
common way  zope  is used would be a beautiful thing. Also, more
writting on how you guys go about developing zope apps. Do you start
from scratch each time or do you have your own templates? Do you use
the zmi? Do you mix zpt and dtml? What is the best products? most
commonly used products?
 BTW, I find refresh usefull because my site is hosted in Europe and
I'm in Calif.. I can live without refresh but it is one more reason
for me to not request a zope upgrade from my hosting service. And if
it isn't going to work, shouldn't it be removed?
Tim

On 1/31/06, Peter Bengtsson [EMAIL PROTECTED] wrote:
 On 1/31/06, Lennart Regebro [EMAIL PROTECTED] wrote:
  On 1/31/06, Peter Bengtsson [EMAIL PROTECTED] wrote:
Refresh works well in limited situations, but it *cannot work* if you 
have
global registries or many interrelated modules.
   
   The setup I use takes care of dependencies in a semi-manual way. In my
   refresh-config I define which other products depend on the one I'm
   defining. Problem solved.
 
  Well, if you have actually solved this problem, and therefore made
  Refresh useful, one question that pops up is why this hasn't been
  moved into Zope. ;)
 

 The setup is quite personal and ad hoc and probably only works on linux.
 I'm going to write an article about it some time soon but I've been
 waiting for finishing my company's website first where I'll publish it
 together with the code.
 In all honesty: lazyness :)

 --
 Peter Bengtsson,
 work www.fry-it.com
 home www.peterbe.com
 hobby www.issuetrackerproduct.com
 ___
 Zope maillist  -  Zope@zope.org
 http://mail.zope.org/mailman/listinfo/zope
 **   No cross posts or HTML encoding!  **
 (Related lists -
  http://mail.zope.org/mailman/listinfo/zope-announce
  http://mail.zope.org/mailman/listinfo/zope-dev )

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


Re: [Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Tim Nash
This thread has been interesting. I wish there was even more writing
about how people develop with zope. I have completed my first zope
product and I find that the change in mindset is the biggest
challenge. Zope is cool but it is quite different from php or java or
cgi. I wish that there was complete basic application that had all the
standard features in it so that a new developer could just start with
that template and modify. I have downloaded many of the products from
zope.org but they really don't tie everything togather. I am looking
for something that covers login in users, building tables out of data
stored in zodb, getters and setters for objects in the zodb,
collecting a variable in one page and passing it on to another page
where it modifies the data display, working with Sessions, etc. I
guess what I'm looking for is a template for a real application, not
for the individual pieces of functionality. And if it it has
associated test framework, unit tests, setup scripts etc. that is even
better. One application that has it all factored out to the most
common way  zope  is used would be a beautiful thing. Also, more
writting on how you guys go about developing zope apps. Do you start
from scratch each time or do you have your own templates? Do you use
the zmi? Do you mix zpt and dtml? What is the best products? most
commonly used products?
 BTW, I find refresh usefull because my site is hosted in Europe and
I'm in Calif.. I can live without refresh but it is one more reason
for me to not request a zope upgrade from my hosting service. And if
it isn't going to work, shouldn't it be removed?
Tim


On 1/31/06, Peter Bengtsson [EMAIL PROTECTED] wrote:
 On 1/31/06, Lennart Regebro [EMAIL PROTECTED] wrote:
  On 1/31/06, Peter Bengtsson [EMAIL PROTECTED] wrote:
Refresh works well in limited situations, but it *cannot work* if you 
have
global registries or many interrelated modules.
   
   The setup I use takes care of dependencies in a semi-manual way. In my
   refresh-config I define which other products depend on the one I'm
   defining. Problem solved.
 
  Well, if you have actually solved this problem, and therefore made
  Refresh useful, one question that pops up is why this hasn't been
  moved into Zope. ;)
 

 The setup is quite personal and ad hoc and probably only works on linux.
 I'm going to write an article about it some time soon but I've been
 waiting for finishing my company's website first where I'll publish it
 together with the code.
 In all honesty: lazyness :)

 --
 Peter Bengtsson,
 work www.fry-it.com
 home www.peterbe.com
 hobby www.issuetrackerproduct.com
 ___
 Zope maillist  -  Zope@zope.org
 http://mail.zope.org/mailman/listinfo/zope
 **   No cross posts or HTML encoding!  **
 (Related lists -
  http://mail.zope.org/mailman/listinfo/zope-announce
  http://mail.zope.org/mailman/listinfo/zope-dev )

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


Re: [Zope] Setting up Zope in a development/production environment

2006-01-31 Thread Dieter Maurer
Qass wrote at 2006-1-30 16:12 -0600:
 ...
Now Zope/Plone use the various permission controls to mimic the above
but I would like to find out how to create the above
design/staging/production environment using Zope/Plone.

You keep this style for all kinds of infrastructure (code, templates,
scripts). For content and configuration, you might have a look
at ZSyncer.


-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Packing data.fs programmatically

2006-01-31 Thread Dieter Maurer
Jonathan Cleaver wrote at 2006-1-31 11:38 +:
 ...
Now for the wierd bit. I successfully ran the code that went into this 
module line-by-line in the Python interpreter. The data.fs was 
beautifully packed. However, when I run this script from the command 
line (through another script that acts as a hook) the line app = 
Zope.app() fails with the error No such file or directory.

*ALWAYS* look at the traceback! It tells you where precisely
the error happens...

-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Product refreshing in Zope 2.9

2006-01-31 Thread Dieter Maurer
Peter Bengtsson wrote at 2006-1-31 10:50 +:
 ...
 if RefreshFuncs.performFullRefresh(self._p_jar, self.id):
from ZODB import Connection
Connection.resetCaches() # Clears cache in future connections.

The call above is responsible to clear the ZODB caches.

After your problem description corrections, it appears as if
you were still accessing an old object.

Two possibilities:

  *  resetCaches no longer works reliable

  *  you access the object from somewhere else then
 the ZODB cache (e.g. you store a persistent object
 on module or class level)

 ...
If someone can guide me I'd like to dig deeper into
ZODB.Connection.resetCaches() to see if there's be a big difference in
version 3.6 that might have caused my beloved refresh to stop working.

resetCaches will almost surely only increment a number.

The true cache flush happens in Connection._setDB.
Look there.

-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] zserver-threads

2006-01-31 Thread Dieter Maurer
Jens Vagelpohl wrote at 2006-1-31 15:07 +:
On 31 Jan 2006, at 15:01, Jake wrote:

 http://plone.org/documentation/how-to/threads-vs-cache-size

That article contains little information to back up the conclusions,  
and some of it is patently wrong. Another case of hearsay and half- 
thruths being propagated by well-meaning but uninformed parties.

There is a convincing example (I think from Matt Kromer) what
happens to mean response time when the number of threads
is increased from 1 to 2:

  Assume you have 2 units of work. If you have a single
  thread, 1 unit is done, then the second. The
  mean response time is (1 + 2) / 2 = 1.5.

  Now assume you have two threads (but a single processor).
  Both threads work (quasi) parallel but have only half of the
  processor power. Both will take 2 time units to perform
  their unit of work. The mean response time is (2 + 2) / 2 = 2.

You get the same ratios whenever you double the number of threads
(but keep the number of processors and all your work is CPU bound).


Things become more difficult when you have a mix of very small
requests and very long requests. You then may want a higher
level of concurrency to not let the small requests being
blocked by the long ones.


-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: Product refreshing in Zope 2.9

2006-01-31 Thread Dieter Maurer
Peter Bengtsson wrote at 2006-1-31 13:05 +:
 ...
But that's what I'm doing!
Thanks to Dieter I've got som genuine technical help on what it might
be instead of just people saying that's not how I do it, give up

I am an enthusiastic refresh user and find is *MUCH* more productive
than the zopectl fg dance favoured by other developpers.

However, I will probably never use Zope 2.9 (I would have quite some work
but not really gain much from this release).
Thus, I can support you only from the distance.
But, I *AM* interested that refresh keeps working, as I may
use Zope 2.10 or 2.11 again -- hopefully with refresh.

-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] zserver-threads

2006-01-31 Thread Jake
Well, I have been using Zope for over 6 years and I still don't think I
have mastered what is truly best other than get a good server, with a lot
of RAM and bump up your threads * cache to use up about 50% of it.

Jake
___
http://www.ZopeZone.com


On Tue, January 31, 2006 12:46 pm, Andreas Jung said:


 --On 31. Januar 2006 12:32:35 -0500 Jake [EMAIL PROTECTED] wrote:

 It would be nice if someone post some guidelines for threads and cache
 size, like a table.

 RAM / Hits / Threads / Cache Size
 2 GB / 20,000,000 / 3 / 50,000
 5 GB / 20,000,000 / 5 / 100,000

 Such a table is pretty much worthless. A ZEO cache of 50.000 objects tells
 you nothing about the RAM to be used. The cache could hold 50.000 small
 objects or 50.000 very large objects eating all your RAM. The relation
 between #threads and hits also depends very much on your application.
 To make it short: dealing with larger installation always requires some
 iterations of oberserving your system and tuning it.

 -aj



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


Re: [Zope] zserver-threads

2006-01-31 Thread Jake
Am I gleaming from that that you are proposing a less-is-more approach to
threads?

Here is what I have been using:
- Zope 2.7.8 (Plone 2.1.2)
- RH Linux
- AMD Athlon 64 3200+ 2.0 GHz
- 2GB DDR RAM
- 120,000 hits a day
- 392,036 objects in database
- 2 threads
- 100,000 object cache size

This seems to eat up about half of the RAM on the server.

Would one thread but double the cache size do better?

Jake
___
http://www.ZopeZone.com


On Tue, January 31, 2006 2:40 pm, Dieter Maurer said:
 Jens Vagelpohl wrote at 2006-1-31 15:07 +:
On 31 Jan 2006, at 15:01, Jake wrote:

 http://plone.org/documentation/how-to/threads-vs-cache-size

That article contains little information to back up the conclusions,
and some of it is patently wrong. Another case of hearsay and half-
thruths being propagated by well-meaning but uninformed parties.

 There is a convincing example (I think from Matt Kromer) what
 happens to mean response time when the number of threads
 is increased from 1 to 2:

   Assume you have 2 units of work. If you have a single
   thread, 1 unit is done, then the second. The
   mean response time is (1 + 2) / 2 = 1.5.

   Now assume you have two threads (but a single processor).
   Both threads work (quasi) parallel but have only half of the
   processor power. Both will take 2 time units to perform
   their unit of work. The mean response time is (2 + 2) / 2 = 2.

 You get the same ratios whenever you double the number of threads
 (but keep the number of processors and all your work is CPU bound).


 Things become more difficult when you have a mix of very small
 requests and very long requests. You then may want a higher
 level of concurrency to not let the small requests being
 blocked by the long ones.


 --
 Dieter
 ___
 Zope maillist  -  Zope@zope.org
 http://mail.zope.org/mailman/listinfo/zope
 **   No cross posts or HTML encoding!  **
 (Related lists -
  http://mail.zope.org/mailman/listinfo/zope-announce
  http://mail.zope.org/mailman/listinfo/zope-dev )



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


Re: [Zope] zserver-threads

2006-01-31 Thread Floyd May
On 1/31/06, Jake [EMAIL PROTECTED] wrote:
Am I gleaming from that that you are proposing a less-is-more approach tothreads?Here is what I have been using:- Zope 2.7.8 (Plone 2.1.2)- RH Linux- AMD Athlon 64 3200+ 2.0 GHz- 2GB DDR RAM
- 120,000 hits a day- 392,036 objects in database- 2 threads- 100,000 object cache sizeThis seems to eat up about half of the RAM on the server.Would one thread but double the cache size do better?
Jake___http://www.ZopeZone.comOn Tue, January 31, 2006 2:40 pm, Dieter Maurer said: Jens Vagelpohl wrote at 2006-1-31 15:07 +:
On 31 Jan 2006, at 15:01, Jake wrote: http://plone.org/documentation/how-to/threads-vs-cache-size
That article contains little information to back up the conclusions,and some of it is patently wrong. Another case of hearsay and half-thruths being propagated by well-meaning but uninformed parties.
 There is a convincing example (I think from Matt Kromer) what happens to mean response time when the number of threads is increased from 1 to 2: Assume you have 2 units of work. If you have a single
 thread, 1 unit is done, then the second. The mean response time is (1 + 2) / 2 = 1.5. Now assume you have two threads (but a single processor). Both threads work (quasi) parallel but have only half of the
 processor power. Both will take 2 time units to perform their unit of work. The mean response time is (2 + 2) / 2 = 2. You get the same ratios whenever you double the number of threads
 (but keep the number of processors and all your work is CPU bound). Things become more difficult when you have a mix of very small requests and very long requests. You then may want a higher
 level of concurrency to not let the small requests being blocked by the long ones. -- Dieter ___ Zope maillist-
Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding!** (Related lists -
http://mail.zope.org/mailman/listinfo/zope-announcehttp://mail.zope.org/mailman/listinfo/zope-dev
 )___Zope maillist-Zope@zope.orghttp://mail.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding!**(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce 
http://mail.zope.org/mailman/listinfo/zope-dev )I would recommend exploring ZEO and Squid if you're *this* worried about performance. There's only so much that one machine can do. If I understand the Zope framework, the idea is that read-to-write ratio for the ZODB is going to be much greater than one, meaning that there are going to be a lot more reads than writes. In this case, having some load balancing and ZEO client caching will make overall performance faster. However, if you're doing lots of writing to the ZODB, you'll probably need to explore ZEO even more in the area of mounting different ZODBs at different places in your ZEO clients' trees.
Like some of the other people said, you probably should just tune it as needed. It's also a Bad Thing to be running your servers at or near capacity; you should leave plenty of headspace for usage spikes. I've certainly run into situations where Zope stuff was processor-bound and slowing everything down, but the RAM wasn't even 25% full. In cases like this, more zserver threads (or more ZEO clients) helps even things out. YMMV.
-- Floyd MaySenior Systems AnalystCTLN - CareerTech Learning Network[EMAIL PROTECTED]
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: zserver-threads

2006-01-31 Thread Florent Guillaume

Dieter Maurer wrote:

Jens Vagelpohl wrote at 2006-1-31 15:07 +:

On 31 Jan 2006, at 15:01, Jake wrote:


http://plone.org/documentation/how-to/threads-vs-cache-size
That article contains little information to back up the conclusions,  
and some of it is patently wrong. Another case of hearsay and half- 
thruths being propagated by well-meaning but uninformed parties.


There is a convincing example (I think from Matt Kromer) what
happens to mean response time when the number of threads
is increased from 1 to 2:

  Assume you have 2 units of work. If you have a single
  thread, 1 unit is done, then the second. The
  mean response time is (1 + 2) / 2 = 1.5.

  Now assume you have two threads (but a single processor).
  Both threads work (quasi) parallel but have only half of the
  processor power. Both will take 2 time units to perform
  their unit of work. The mean response time is (2 + 2) / 2 = 2.


This is specious reasoning from a statistical point of view. You never 
have only two requests. To have a proper statistical evaluation, you 
need a theoretical model of the distribution of requests over time. This 
can be as simple as a request every t. Then you have a continuous flow 
of requests, and the two means become equal.


Just try it with 4 units of work and equivalent time distribution as in 
the original example:

- Case 1: (1+2+3+4)/4 = 2.5
- Case 2: (2+2+4+4)/4 = 3

If you generalize to n units of work, you'll get (the math is simple):
- Case 1: n(n+1)/2n = n/2+0.5
- Case 2: 4((n/2)(n/2+1)/2)/n = n/2+1

Which are equivalent to n/2 when n grows.

Florent

--
Florent Guillaume, Nuxeo (Paris, France)   Director of RD
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope-dev] Zope tests: 8 OK

2006-01-31 Thread Zope tests summarizer
Summary of messages to the zope-tests list.
Period Mon Jan 30 12:01:01 2006 UTC to Tue Jan 31 12:01:01 2006 UTC.
There were 8 messages: 8 from Zope Unit Tests.


Tests passed OK
---

Subject: OK : Zope-2_6-branch Python-2.1.3 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:03:07 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004138.html

Subject: OK : Zope-2_6-branch Python-2.3.5 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:04:37 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004139.html

Subject: OK : Zope-2_7-branch Python-2.3.5 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:06:07 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004140.html

Subject: OK : Zope-2_7-branch Python-2.4.2 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:07:37 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004141.html

Subject: OK : Zope-2_8-branch Python-2.3.5 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:09:07 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004142.html

Subject: OK : Zope-2_8-branch Python-2.4.2 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:10:38 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004143.html

Subject: OK : Zope-2_9-branch Python-2.4.2 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:12:08 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004144.html

Subject: OK : Zope-trunk Python-2.4.2 : Linux
From: Zope Unit Tests
Date: Mon Jan 30 21:13:38 EST 2006
URL: http://mail.zope.org/pipermail/zope-tests/2006-January/004145.html

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: [ZODB-Dev] Weird ConflictErrors - TemporaryStorage bug?

2006-01-31 Thread Dieter Maurer
Chris Withers wrote at 2006-1-30 18:32 +:
Dieter Maurer wrote:
 Okay, I see: TemporaryStorage raises ConflictError
 when other storages would raise POSKeyError: something
 tries to access an oid that was recently garbage collected (i.e.
 deleted).
 
 You will never again be able to load this oid without exception
 (as it was deleted).

Okay, so is this a bug in TemporaryStorage? If so, should I just chuck 
it in the collector?

You should look at the code.

  The author thought he did something good, even though I could not
  understand him...

-- 
Dieter
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-DB] Re: Ape, postgresql and plone: UnmanagedJar instance and 'exportFile' attribute errors

2006-01-31 Thread Bill Rye

The same error is thrown if you use APE with filesystem storage.
I have Zope 2.7.8, Python 2.3.5, Plone 2.1.1 and Ape 1.0.

No idea why this happens.  I've had zero luck with APE, and have
come to the conclusion that no one really uses it.

Bill

Jeff Macfarland wrote:
Ape 1.0 is set to store in postgresql 7.4.6. Things seem work fine until 
I go to add a Plone Site in the ZMI. The following error shows up in the 
main html frame:


Error Type: AttributeError
Error Value: UnmanagedJar instance has no attribute 'exportFile'

and the following in $INSTANCEROOT/log (snipped out all the upgrading 
messages)


...
2006-01-24T16:12:31 INFO(0) Plone
Upgrade to: 2.0.5, completed
--
2006-01-24T16:12:31 INFO(0) Plone
Attempting to upgrade from: 2.0.5
--
2006-01-24T16:12:31 ERROR(200) Plone
Upgrade aborted
--
2006-01-24T16:12:31 ERROR(200) Plone
Error type: exceptions.AttributeError
--
2006-01-24T16:12:31 ERROR(200) Plone
Error value: UnmanagedJar instance has no attribute 'exportFile'
--
2006-01-24T16:12:31 ERROR(200) Plone
  File /var/zope-2.7.8/Products/CMFPlone/MigrationTool.py, line 274, 
in upgrade

newv, msgs = self._upgrade(newv)

--
2006-01-24T16:12:31 ERROR(200) Plone
  File /var/zope-2.7.8/Products/CMFPlone/MigrationTool.py, line 371, 
in _upgrade

res = function(self.aq_parent)

--
2006-01-24T16:12:31 ERROR(200) Plone
  File /var/zope-2.7.8/Products/CMFPlone/migrations/v2_1/alphas.py, 
line 29, in two05_alpha1

convertPloneFTIToCMFDynamicViewFTI(portal, out)

--
2006-01-24T16:12:31 ERROR(200) Plone
  File /var/zope-2.7.8/Products/CMFPlone/migrations/v2_1/alphas.py, 
line 1264, in convertPloneFTIToCMF

DynamicViewFTI
migrateFTI(portal, 'Plone Site', name, fti_meta_type)

--
2006-01-24T16:12:31 ERROR(200) Plone
  File /var/zope-2.7.8/Products/CMFDynamicViewFTI/migrate.py, line 41, 
in migrateFTI

actions.append(action._getCopy(action))

--
2006-01-24T16:12:31 ERROR(200) Plone
  File /var/zope-2.7.8/Products/Ape/lib/apelib/zope2/setup/patches.py, 
line 29, in _getCopy

return self._real_getCopy(container)

--
2006-01-24T16:12:31 ERROR(200) Plone
  File /usr/local/zope-2.7.8/lib/python/OFS/CopySupport.py, line 458, 
in _getCopy

self._p_jar.exportFile(self._p_oid,f)

Is there some zope add on product that offers 'exportFile'? Or is it 
just no implemented in Ape?




___
Zope-DB mailing list
Zope-DB@zope.org
http://mail.zope.org/mailman/listinfo/zope-db