Re: chekcpoints, BUFFER settings, and optimization
Posted in 1997
In article <348F1333.4F79@bloomberg.com>, "Art S. Kagel"
<kagel@bloomberg.com> writes
>David Williams wrote:
>>
>> In article <66madi$osk@cssun.mathcs.emory.edu>, Serafim Fonseca
>> <inf@dpx20.growela.pt> writes
>
>> >} In article <881611278.1353908229@dejanews.com>,
>> >} jneugebauer@ameritrade.com writes
>> >[...]
>
>> >David Williams writes
>
>> >[...]
>> >} ># Shared Memory Parameters
>
>> >} >LOCKS 100000 # Maximum number of locks BUFFERS 5000 # Maximum number
>
>> >} BUFFERS 5000!!
>> >} Run onstat -b and look at the last line it will end in page size
>> >} either 2048 bytes or 4096 bytes (2 or 4K).
>
>> >} I would up BUFFERS by 100Mb and run sar -p 1 1 / sar -q 1 1
>> >} make sure you are not getting paging/swapping. Keep on increasing
>> >} by 100Mb unti paging starts then set it to the highest value which
>> >} has no paging.
>
>> >} Run onstat -g ath. Are there kaio threads running. If so set
>> >} NUMAIOVPS=1. Otherwise increase NUMAIOVPS to the number of disks you
>> >} have (up to 32).
>
>> >} Set cleaners = 6 (same as NUMCPUVPS). Page cleaner threads only queue
>> >} i/o (pass it to kaio threads or AIO VPs) they do not actually do the
>> >} I/O.
>
>> >Is this a rule? To have the same number of cleaners as the number of
>> >NUMCPUVPS.
>> >My machine has 1 NUMCPUVPS and I've CLEANERS=8 should I change that?
>
>> Yes, cleaners threads run on cpu vps. Hence with 1 CPU VP only 1 can
>> be active at any one time. More than 1 is a waste of time.
> David Williams
>
>Dave I have to disagree. I agree that additional cleaners are of
>limited use during normal LRU writes but they are needed for fastest
>checkpointing. Since at checkpoint time each chunk is assigned to
>another cleaner thread until the threads are exhausted, and since that
>one thread, as has already been pointed out, is only scheduling the
>actual I/Os with either the AIO VPs or KAIO VPs, that thread will block
>on each I/O that it schedules and single thread writes to your disks.
Are you sure it blocks, I though it was Asynchronous I/O...
>You must have multiple cleaners, even with a single CPU VP, since the
>other cleaners can wake and schedule the I/Os that they are responsible
>for while the first cleaner is blocked waiting for I/O service.
>
>Because of the asynchronous I/O of ODS the old OL5.xx recommendation of
>one cleaner per LRU is overkill. But one cleaner for each 2-3 LRU
>queues is probably just about right, no matter how many or how few CPU
>VPs you have available. This will ensure that your checkpoints are not
>bottlenecked by single threaded I/O.
>
>Art S. Kagel
--
David Williams