Poor python and/or Zope performance on Sparc

Jean-Paul Calderone exarkun at divmod.com
Sat Nov 3 13:21:57 EDT 2007


On Sat, 03 Nov 2007 10:06:12 -0700, joa2212 <joa2212 at yahoo.de> wrote:
>On 3 Nov., 17:19, George Sakkis <george.sak... at gmail.com> wrote:
>> On Nov 3, 9:35 am, joa2212 <joa2... at yahoo.de> wrote:
>>
>> > Result: Almost even worse. The application is not scaling at all.
>> > Every time you start a request it is hanging around on one cpu and is
>> > devouring it at about 90-100% load. The other 31 CPUs which are shown
>> > in "mpstat" are bored at 0% load.
>>
>> You are probably not aware of Python's Global Interpeter Lock:http://docs.python.org/api/threads.html.
>>
>> George
>
>Hi George,
>
>yes, that's right. I wasn't aware of this. If I understand you
>correctly then we have a problem of implementing threads in the
>software we are using. But tell me one thing: Why does this software
>almost runs like a fool on an Intel machine with a single cpu (perhaps
>dual core?) and slow like a snail when it runs on Sparc? It's exactly
>the same source code on both platforms. Certainly all relevant
>packages (python + zope) were recompiled on the sparc.
>
>Sorry for my questions, I'm really no software developer. I'm just a
>little bit helpless because my software vendor can't tell my anything
>about by concerns.

The Sun machine you have has divided its hardware resources into 32 units.
That means that, roughly, each unit is only 1/32nd as fast as the overall
system.  All of the units together are, roughly, about the speed of the
Intel machine you were using before, so one unit alone is 32 times slower.

Since Zope is only using 1 unit, it runs 32 times slower, and 31 out of 32
hardware units sit idle.

The T1000 isn't a very good machine for general server purposes.  It has
advantages when running software with a lot of hardware-level parallelism,
but Zope isn't such a piece of software.

Jean-Paul



More information about the Python-list mailing list