[Zope] Re[6]: Optimizing ZOPE

Stefan Bambach Stefan Bambach <stefan.bambach@triplex.de>
Thu, 5 Apr 2001 19:02:47 +0200


Hallo alan,

>> Not exactly. It's a combination of server load (long requests) and
>> other objects that are read. I think that the transaction management
>> of Zope have problems with request on objects that take a long time.
>> So if a request takes too much time and another request want to access
>> another object than it might crash.

ar> have you tried to use the logging features of ZOPE?  z2.py
ar> STUPID_FILE_LOGGER=var/Zope.log
ar> I got this information from
ar> http://www.zope.org/Members/michel/Projects/Interfaces/LOGGING.txt/

I have had a look to it. It's meant for "If you want your own Zope
extensions to use logging:", doesn't it ? I needed information about
the logged in user name to be logged, that I can see, what user
requested which pages.

ar> I believe the STUPID_FILE_LOGGER will give you more information on this.  I
ar> should have brought it up earlier.  and we should have been discussing this
ar> on the ZOPE mailing list so we could have this archived.   those conflict
ar> competing writes usually have path associated with it.  are all of these
ar> occuring in the same location in the ZODB?

No. They are different. I configured STUPID_FILE_LOGGER in start script
and wait until I get some output. I don't think that it will log
something until I write my own logging class like the example on the
webpage.

ar> yikes, this is very bad.  Andy McKay has helped port ActiveStates website to
ar> ZOPE and I wonder if they are experience the same problems.

I don't think so. They have no really dynamic system I think.

ar> there is no doubt that ZOPE has more experience and is favored to run on
ar> *nix ,from what I understand.

You are right. The internal server have to be in the LAN of the
company. And the company have only Windows :-( The external Server is
provided by our company and is of course a linux :-)

ar> the big files should be served from apache and not ZOPE.  that is the lesson
ar> to be learned I believe.

Sorry that is not really possible. I need complex authorization on
that documents (Roles, IPs, internal/external Server Request,
Usernames, ...).

ar> You say the code is 11500 lines long.  You are using German characters I
ar> assume, I wonder if this is causing any problem?

I don't thinnk so. I have some german characters in it, because
sometimes I need them; e.g. for HTML quoting, some strings, filename
convert. The Users sometimes loads files in the system with german
special chars and I convert them to really nive chars.

ar> How experience with Python are you? I see you had setName getName, in python
ar> you usually directly set/get attributes with instance.property=value and
ar> value=instance.property, overloading __setattr__ and __getattr__ if you
ar> wanted to do a tiny more than set/get values as well.

I'm needing some 'intelligent' methods. Less methods really only
return the value. Most of them do type castings, return value
depending on parameters, ... . I started working with Python 2 years
ago. I wrote some C modules for my needs, where Python is too slow.
Actually I'm on my way to release a Python XML module that have it's
own Plugin API that you can use real xml parser in the backend of my
module (I'm testing with libxml). This is a nice project, but I have no
time to finish this module, because of my job :-(

I learned Python, Zope, XML and other technologies very fast, because
the first project have to be done in very short term. And a friend
said that you can realise such projects very fast with python and
zope. So I learned it in about 2-3 weeks. I'm developing programs
since 1982 on different computers and programming languages.




ar> ~runyaga


ciao. Stefan