Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Understanding cpu "load" on a VPS with noisy neighbors
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Understanding cpu "load" on a VPS with noisy neighbors

My understanding of uptime load is that it represents the average number of processes waiting for or using the cpu. I also understand that VPS hosts often use load as way to determine if a user is using too many resources: if the load is over a certain amount for a period of time, then something happens (reboot, throttle down, etc).

What I do not understand is what load means in a shared system such as a VPS (OpenVZ is what I use). For example, if another user is being noisy, that might cause I/O or CPU delays for me. Would this not cause my load to go up? Which then could lead to the possibility of my services being throttled/re-booted even if I were not the heavy user?

Or, does my execution of uptime load somehow take the above in account and not inflate my load based on what others are doing? Or does OpenVS properly identify which container is actually causing the problem and only reboot/throttle the heavy user.

Comments

  • drserverdrserver Member, Host Rep

    You are on shared system. Every one took some of CPU. Some of you more, some less. Lets say Hardware node have cpu power 100 units. For example there are 9 virtual machines on that hardware node. Every one uses 10 units + hw node is using 10 units... All that equals 100. Node is working normal...

    If you for example are using 20 units all other units will be under their ten to cover loss that you made... If you are abusing cpu really hard, provider will shut you down, because of other users on that hardware node.

    You will loose some performance as you are covering that abusive user.

    Did you understand ?

  • I had a bit of trouble understanding that.. But I got the most important part.

    When someone "abuses" uses more resources the system shifts more resources to the abuser in turn other users end up not have the resources available to them and having a crap day because of it.

    I assume the host node can see processes / CPU / ram per container in solusvm and in the terminal? Or monitoring systems they have in place per node?

  • I think I get what is being said. Clearly, abusers will drain resources from other users. But the question I want to hone in on is: how does someone else's abuse affect my "load".

    If hosts stop/reboot processes if my load gets too high, then I think it is important to understand what causes my load to get to high. Can other users cause my load to get to high, or is my high load (for better or worse) really under my control?

    Thanks,

    -Adam

  • perennateperennate Member, Host Rep

    If the physical CPU is overloaded, virtual cores will show higher load as well, even if they are doing the same amount of processing. The abuser would have the highest load though.

  • If all else fails, reboot the node? :P

    I've had a few instances where someone was abusing the node (I never checked my CPU though as it's an idle VPS), I noticed my I/O was terribly slow 2-3 mb/s this would affect anything hosted on the box, websites etc.

  • Nick_ANick_A Member, Top Host, Host Rep

    Yeah, if we see several containers showing high loads out of nowhere, it's usually one particular culprit causing problems.

  • If you assign a fixed cpu percentage to each user, shouldn't it be impossible then for him to slow down other VM's?

  • MaouniqueMaounique Host Rep, Veteran

    The load is not so straightforward to see from hw node.
    Because of OVZ poor isolation you can have one abuser with low load lock cores through various techniques. Those cores will not be available to others and overall load will be distributed to the remaining cores driving overall load up.
    I find load limiting on OVZ to be somewhat lacking, in Xen, the load can be tweaked to a much higher degree.

  • @Nirvana said:
    If you assign a fixed cpu percentage to each user, shouldn't it be impossible then for him to slow down other VM's?

    Not on OpenVZ but KVM you can dedicated X amount of physical or virtual cores. Someone correct me if I'm wrong here.

    If you have a 1TB drive or 250GB you could have X VMs sharing it meaning an abuser could still abuse disk I/O.

  • drserverdrserver Member, Host Rep

    In OpenVZ you can assign number of cores and core percentage also there are CPU units for core ratio distribution between clients.

    Good explanation here
    http://openvz.org/Resource_shortage

  • MaouniqueMaounique Host Rep, Veteran
    edited December 2013

    @drserver said:
    In OpenVZ you can assign number of cores and core percentage also there are CPU units for core ratio distribution between clients.

    Good explanation here
    http://openvz.org/Resource_shortage

    In theory, yes in practice, it doesnt work much more than sending a message to the abuser. The load on the server remains high extra load for isolation is introduced and switching all the time does not help a CPU under already heavy OVZ load.

    Thanked by 1FrankZ
  • drserverdrserver Member, Host Rep

    ^^^ In practice, you are screwed...

  • MaouniqueMaounique Host Rep, Veteran

    Well, you can limit very drastically, giving 200 Mhz or even lower, but that is equivalent to kicking, IMO...

Sign In or Register to comment.