Give it a rest + answers. (Re: [Zope] Re: Zope + Apache on Quad Debian machine)

Dario Lopez-Kästen dario at ita.chalmers.se
Tue Mar 21 08:39:10 EST 2006


Martijn Pieters said the following on 2006-03-16 12:25:
> On 3/16/06, Tino Wildenhain <tino at wildenhain.de> wrote:
> 
>>>Hey... but thank you Jens for spending all that time writing an email
>>>that doesn't help any1 at all...!!!
>>
>>check google for "multiple use of exclamation marks".
> 
> 
> Or look up Terry Pratchett quotes on www.lspace.org:

<snip>

Martinj, Chris and others giving nonsential answers: Don't you guys have 
work to do instead of playing bullies on the newbies?.

To be honest, I find arrogant and pointless answers like yours way more 
annoying than a whole bunch of newbies asking more or less cluess questions.

I see a lot of this newbie bashing increasing; in fact it has been some 
years since the zope list was a good example on how to treat newbies 
politely and point them to the prope answers.

Sure, we all have loads of work and are way too stressed, we don't get 
enough sleep, yada, yada, yada... I fail to see how that is a newbie's 
fault, so no need to take it out on them.

For the benefit of all those that have tiny, tiny memory spans, the 
question of Zope's processes necessity to be CPU-bound is a horse that 
was resolved a couple of years ago (2002). It turns out that it is not a 
Zope problem ("Oh, the Horror. He's bringing a non-zope question to the 
list!").

It is pythons "fault", if you are grumpy old fart, or it is a "feature" 
if you are having a good day.

The need for threaded python processes to be CPU bound (yes, Zope is 
threaded, in case you have forgotten) arises from the fact that python 
has the GIL (Global Interpreter Lock).

For background see:

http://www.zope.org/Members/glpb/solaris

and

http://www.zope.org/Members/glpb/solaris/report_ps

As far as I know, the GIL is still there and won't go away any time 
soon. Today, the only change from 2002 is that there is a heck of a lot 
more multi-CPU machines than there were back in 2002.

So, to make a long story short: on linux there is a userspace tools 
called taskset:

http://linuxcommand.org/man_pages/taskset1.html
http://aplawrence.com/Basics/taskset.html

if there is no such command for your particular distro/kernelversion, 
look no further than:

http://directory.fsf.org/all/schedutils.html
http://rlove.org/
http://rlove.org/schedutils/
ftp://ftp.kernel.org/pub/linux/utils/util-linux/

I cannot tell you wich version to use, but I think you get the idea. I 
do believe that some distros allready include taskset in them.

So you have to write a wrapper script around zopectl (you are running a 
newer versionof zope, aren't you?) where you do this.

It has worked like a charm for us since 2002 (well, almost - since 
schedutils were new and cool back in 2002 we had regular fights with the 
sysadmins guys regarding the need to introduce 
"non-redhat-aproved-kernel-hacks" into the production systems. Nowadays 
taskset and related tools are included in the later RHE releases).

Regarding all other advises you have gotten so far (get more memory, 
look at your disks, get a life, etc), I am sure that they have merits, 
but as far as I can see, they don't actually solve anything at all.

The fact that the issue of the GIL is not more prominent in the Zope 
worlds, I think is because relatively few zopistas are aware that there 
is a problem; mostly, because not so many run multicpu-boxes in 
production, and also because of attitude, I suppose: "since I don't have 
a problem with it, I don't care about it, and I'll inform you so."

/dario - yes... a bit annoyed at all the "help" some folks give...

-- 
-- -------------------------------------------------------------------
Dario Lopez-Kästen, IT Systems & Services Chalmers University of Tech.
Lyrics applied to programming & application design:
"emancipate yourself from mental slavery" - redemption song, b. marley



More information about the Zope mailing list