Date: Thu, 11 Jul 2002 13:47:47 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Ken Menzel" <kenm@icarz.com> Cc: "Hartmann, O." <ohartman@klima.physik.uni-mainz.de>, <freebsd-stable@FreeBSD.ORG> Subject: Re: tuning(7) request was: Re: Performance boost with kernel options in FBSD 4.6 Message-ID: <200207112047.g6BKllXX097458@apollo.backplane.com> References: <20020710104730.L10343-100000@klima.physik.uni-mainz.de> <04a601c228dc$c6dbb980$681663cf@icarz.com> <200207111930.g6BJUX5m096974@apollo.backplane.com> <064901c22919$9738d2c0$681663cf@icarz.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207112047.g6BKllXX097458>