Re: bdflush/rpciod high CPU utilization, profile does not make sense

Trond Myklebust
2005-04-09T21:53:36Z

lau den 09.04.2005 Klokka 23:35 (+0200) skreiv Jakob Oestergaard:

> 2.6.11.6: (dual PIII 1GHz, 2G RAM, Intel e1000)
>
> File Block Num Seq Read Rand Read Seq Write Rand Write
> Dir Size Size Thr Rate (CPU%) Rate (CPU%) Rate (CPU%) Rate (CPU%)
> ------- ------ ------- --- ----------- ----------- ----------- -----------
> . 2000 4096 1 38.34 18.8% 19.61 6.77% 22.53 23.4% 6.947 15.6%
> . 2000 4096 2 52.82 29.0% 24.42 9.37% 24.20 27.0% 7.755 16.7%
> . 2000 4096 4 62.48 34.8% 33.65 17.0% 24.73 27.6% 8.027 15.4%
>
>
> 44MiB/sec for 2.4 versus 22MiB/sec for 2.6 - any suggestions as to how
> this could be improved?

What happened to the retransmission rates when you changed to TCP?

Note that on TCP (besides bumping the value for timeo) I would also
recommend using a full 32k r/wsize instead of 4k (if the network is of
decent quality, I'd recommend 32k for UDP too).

The other tweak you can apply for TCP is to bump the value
for /proc/sys/sunrpc/tcp_slot_table_entries. That will allow you to have
several more RPC requests in flight (although that will also tie up more
threads on the server).

Don't forget that you need to unmount then mount again after making
these changes (-oremount won't suffice).

Cheers,
Trond

--
Trond Myklebust <trond.myklebust@fys.uio.no>