[ZODB-Dev] Speeding up ZODB (was "redis cache for RelStorage")
Jim Fulton
jim at zope.com
Fri May 6 09:15:36 EDT 2011
On Fri, May 6, 2011 at 6:19 AM, Pedro Ferreira
<jose.pedro.ferreira at cern.ch> wrote:
> Hello.
>
>> Is your storage server CPU bound?
>
> load average: 1.47, 1.34, 1.20
>
> mpstat:
> """
> 11:40:13 AM CPU %user %nice %sys %iowait %irq %soft %steal
> %idle intr/s
> 11:40:13 AM all 5.82 0.00 0.69 1.11 0.01 0.12 0.00
> 92.25 548.52
> """
>
> I guess it's not very high, for an 8 core machine.
Nope. None of these stats are high.
>> Starting with ZODB 3.10, ZEO
>> storage servers are multi-threaded. They have a thread for each
>> client. We have a storage server that has run at 120% cpu on a 4-core
>> box. Also, if you use zc.FileStorage, packing is mostly done in a
>> separate process.
>
> I didn't know this package even existed. I will give it a try, but in
> any case our problems don't seem to be related to packing.
Nope. I doubt your problems even relate to ZEO. :)
But it illustrates that storage servers can benefit from multiple
processors.
>> A major source of slow down *can* be disk access times. How's IO wait
>> on your server?
>
> As you can see from the mpstat snapshot above, just around 1%. I have
> checked iostat as well, and the number of transactions per second seems
> to be very low considering the maximum allowed by the hardware.
>
>> Look at how your application is using data. If you have requests that
>> have to load a lot of data, maybe you can refactor your application to
>> load fewer.
>
> A quick check with nethogs shows values of network usage oscillating
> between 100 and 200 KB/s. But I guess that if I were loading an
> excessive amount of data, this value would be higher, no?
Right. I'm skeptical that you have a storage problem.
What makes you think you have a storage problem? :)
Jim
--
Jim Fulton
http://www.linkedin.com/in/jimfulton
More information about the ZODB-Dev
mailing list