Well, the main thing you need to figure out is whether your problem
is due to cpu monopolization or disk monopolization. 'I/O' load itself
can effect the scheduler, but is unlikely to overload the machine. Disk
loads are far more likely to overload the physical hard drives.
For example, if you have a user logged into a shell whos 30MB mailbox is
on the same hard drive as, say, a heavily loaded MySQL database which is
saturating the drive, simply reading the mailbox sequentially could take
10 seconds when it would only take 1 second on an idle drive.
So the first thing you need to do is determine your drive loads and
map out where the different applications/users are going.
'systat -vm 1' helps a lot there because it tells you the hard drive
% utilization. The thing about Databases and Web serving is that
they can generate a lot of seeking on a drive which can easily saturate
the drive (100% utilization).
If you determine that drive load is your problem then the logical
solution is to add more drives or distribute the partitions differently
or add memory (increased caching == reduced disk I/O) or add more
hard drives. If you determine that cpu monopolization is the problem and
drive load is not the problem then you can try things like raising HZ,
renicing processes a little (I recommend no more then +/- 8), reducing
the parallelism on some of the server processes, upgrading the cpus,
and so forth. There are lots of potential solutions.
-Matt
:Hi Matt,
: Regarding your comment about highly IO intensive programs; many of
:us run SQL databases (highly intensive IO). I have noticed a tendency
:for a single process to monopolize the CPU with MySQL, to the
:exclusion of other users. I do understand the detrimental effects of
:state changes on a CPU, so I can relate to not setting this value too
:high. I wonder if we might see an effect with this as well?
:
:I don't remember seeing this discussed here. I do not mean to bring
:up a topic that has been discussed before, either here or another
:list. However, the effect on IO for a server with several hundred
:simultaneous connections could be noticeable. I am not sure a simple
:benchmark would should any advantage, although I am planning to play
:with the value and run some benchmarks. If I come up with meaningful
:numbers I will post them.
:
:The main thing I was wondering is what effects I might watch for, and
:any hints as to what I should not waste my time on. In our
:environment we run FreeBSD,Apache,PHP, MySQL for about a thousand
:users. It is an interactive database application so this may have
:similarities to the X situation you described. I am always looking to
:boost performance (can't wait to see 5.0! ). I am just not sure what
:kind of an effect I might see. But I will play around as soon as I
:return from vacation (unless someone else gets to it first! :). All
:the security problems lately have really kept me busy.
:
:Thanks for the input,
:Ken
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message