From: Herbert Poetzl (herbert_at_13thfloor.at)
Date: Sat 02 Apr 2005 - 02:37:22 BST
On Fri, Apr 01, 2005 at 04:25:41PM -0500, Gregory (Grisha) Trubetskoy wrote:
> I would also keep measurements of CPU ticks used. Since IO requires CPU
> cycles - is it possible that a CPU sched_hard indirectly limits IO just as
my suggestion (and actually plans for I/O issues) are
something like this:
- have a 'generic' token bucket for various things
(swap pages, I/O, scheduler, forks ...)
why?: because! no seriously if we put all into
one bucket it might work, but nobody can figure
why it works/doesn't work ...
- make those token buckets per cpu with (the now
possible) cpuaffinity in place for vservers
why?: increased performance and better scaling
- have some buckets affect the scheduling behaviour
(e.g. swap, forks, scheduler of course)
why?: to penalize the contexts which do heavy
forking or other heavy system activity ...
- use some buckets to adjust/influence schedulers
(taks, I/O and maybe network scheduler that is)
sched_hard does already indirectly limit I/O, because a
not running process/context can not submit I/O requests
so that is already working, but I take it isn't sufficient
for 'normal' use ...
PS: keep up the discussion ...
> On Fri, 1 Apr 2005, Matthew Nuzum wrote:
> >>On Thu, Mar 31, 2005 at 09:22:10PM -0600, Matthew Nuzum wrote:
> >>>I think I can create a test case for this. I have a server that is not
> >>>currently running any vserver stuff that will be ok with a reboot now
> >>sounds good, please try to get 188.8.131.52 working there,
> >>because it already contains some blkio accounting
> >>and it would be very interesting to monitor those
> >>values ... (maybe with rrdtools)
> >I'm still doing my month-end backup, but when that's done I'll start
> >installing the vserver 184.108.40.206.
> >Here is the test case that seems most logical to me, but advice on how to
> >actually do concrete tests would be useful.
> >1. Create two vservers (vsa and vsb), start both.
> >2. In vsa start some heavily i/o intensive operation
> >3. In vsb try to do some tasks and notice how much i/o bandwidth I have
> >Alternative plan:
> >1. Create 1 vserver and start it
> >2. In the vserver, start some heavily i/o intensive operation
> >3. In the host server try to do some tasks and notice how much i/o
> >I have available
> >4. After step 2 completes, in host server start a heavily i/o intensive
> >5. In vserver, try to do some tasks and notice how much i/o bandwidth I
> >I have two ideas on heavily i/o intensive operation
> >1. I have a database with 35 million records. Doing any aggregate function
> >such as max() requires several sequential scans and takes a significant
> >amount of time.
> >2. Preparing my month end backup requires copying 13 GB of data.
> >Any other suggestions?
> >I have only subjectively noticed a dramatic decrease in server performance
> >when a vserver is performing i/o intensive tasks. How can I objectively
> >measure and produce concrete numbers?
> >Matthew Nuzum <matt_at_followers.net>
> >www.followers.net - Makers of "Elite Content Management System"
> >View samples of Elite CMS in action by visiting
> >Vserver mailing list
> Vserver mailing list
Vserver mailing list