Phil Stracchino wrote:
> On 04/09/10 02:35, Henrik Johansen wrote:
>> I have spend some time profiling the bacula-sd under production load on 
>> Solaris. Besides checking for signs of lock contention and memory / CPU 
>> usage issues I also tracked the I/O statistics for each file descriptor 
>> opened within the bacula-sd process while running.
>>
>> According to my notes there was a noticeable change in throughput when 
>> testing 100 concurrent jobs against 100 separate devices (100 separate 
>> volumes) compared against writing the same jobs against 20 concurrent 
>> volumes.
>>
>> I/O throughput increased with more concurrency.
> 
> That is an extremely interesting, and somewhat counter-intuitive, result.

It's exactly what I expect to see on any decent hardware. Experience on
the PostgreSQL mailing list suggests that for database workloads at
least, optimal write throughput tends to be achieved at
nthreads=nspindles+ncpus.

Of course database workloads tend to be a bit more random in their write
patterns and tend to hit the CPU more than backula-sd's write loads are
likely to. For bacula-sd I'd start at nthreads=nspindles and explore
around there to find where my hardware performed best. I've certainly
found that pure sequential write throughput also tends to increase with
number of writing threads/processes - up to a point that varies with
raid level, disk array layout, spindle count, controller/swraid type, etc.

Some benefit may even be gained from multiple writing threads on
*single* *disk* setups if TCQ/NCQ is enabled and none of the programs
are using fsync() to force write ordering. Probably not for pure
sequential writes, though I'd have to test that.

( I almost wonder if it's worth adapting that tool to produce a quick
and dirty optimizer that searches for near-optimal writing thread count
on a given storage device. Hmm. Might be handy if bacula-sd ever gets a
"max concurrent writers" param or the like. )

I need to put together a decent benchmark platform before I can do much
hard testing for bacula or with that test tool, as the main decent
arrays I have access to are always busy with backups, production loads, etc.

--
Craig Ringer


------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to