|
Dedicated Server Discuss technical issues related to hosting your own servers. |
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Game speed seems slow?
Hi guys,
I've recently set up three servers on a VPS and I'm noticing some visible slowdown in game, like it's running at about 75% normal speed. CPU usage seems to be around 10% with all slots in use, and memory around 100mb (2GB total) so can't see anything wrong there. Any ideas? I'm assuming there's no actual setting in the server XML for game speed? I've been keeping an eye on the logs and there doesn't seem to be anything out of the ordinary in them. |
#2
|
|||
|
|||
If every player sees it: Your host's overloading their VPS servers with too many virtual machines. Nothing you can really do but moan. VPS isn't a "real" server and if it says 10% CPU that doesn't mean there aren't 100 other virtual machines all "seeing" 10% CPU or more.
The thing about a game is that it requires a real-time response from the server, which isn't really compatible with the time-slicing that occurs when VPS's are all run on one server. Basically, you're getting what you paid for, for not having a real server only a "virtual" one that runs alongside dozens of others on the same machine, any of which can flip to 100% CPU at any time and starve your virtual machine of cycles. |
#3
|
|||
|
|||
My subconscious programmer side has a feeling that this can be fixed.
|
#4
|
|||
|
|||
Quote:
Quote:
|
#5
|
|||
|
|||
Yep, just switched to another VPS provider which guarantees an amount of CPU time (3x the cost, ouch) and all seems fine even with an extra server. Guess you really do get what you pay for.
|
#6
|
|||
|
|||
VPS are basically timeshares, where you've rarely told how much time you actually get. And games particularly suffer from bad timeslicing - it doesn't matter if you need 100% CPU or not, if your timeslices aren't even and regular, you end up with an unplayable game. Even with caps you can often run into problems because of the irregularity of certain timeslice allocation algorithms (this is why Linux has about 20 different "queueing" mechanisms - some guarantee regular timeslices, some fair timeslices, some proportionate timeslices - heavy processes get more, some try to do all of the above, etc.)
Chances are they'd overloaded their VPS server in order to make money. It's very common in the VPS industry and you can see why - any idiot can rent a dedicated server for, say, £50 a month and split it into a hundred VPS servers that they sell for £5 a month. Some customers it won't be suitable for but if you have more than 10 satisfied (or ignorant, or non-demanding) customers you'll make a profit. If a web server has to pause 50ms before it returns data because another VM's webserver on the same server is trying to do something "heavy", then it doesn't matter and probably won't even be noticed. Same for email (even more so), online chat, all sorts of things. For game servers, it's a crippling delay - as it would be for VoIP or other rare services that need better latency and consistency than a webpage loading. It's like a lot of people misunderstand "latency" against "speed" of their connection. Just because it's fast doesn't mean it isn't latent. And just because someone's ping is low doesn't mean they have a faster connection, or even that they are "closer" to the server. Glad to hear you go it sorted, though. When it comes to renting servers you often get what you pay for. There are always deals, but trying to skimp on servers will usually end in pain if you don't fully understand what you've bought. Look for VPS providers that advertise their contention ratios, their underlying server specification, their datacentre details, and that give you an explicit bandwidth limit (or charge on the right scales for truly unmetered 10/100Mbps). |
#7
|
|||
|
|||
It all depends on what kind of latency you need, both in terms of CPU time your VM gets as well as the network latency that is reasonable. Most of the time you don't really need these for games like Altitude, which is why people are running this game on VPS fine. I don't know the full requirements of Altitude, but from several people VPS seems to be doing okay for it, it seems the OP choose one of the bad ones.
For specialized uses where you want to squeeze every bit of hardware performance out of your box, you don't really need virtualization and even if you do you're going to end up making it so rigid it defeats the purpose. Such as running custom kernels with custom, modified guests OS. Don't forget there are possibilities to tie down host CPUs dedicated to VM processes. If the hypervisor has enough intimate knowledge of the host kernel, it can even perform gang scheduling for VCPU threads (guest SMP) and employ other tricks like jumping scheduler queues or preemption hinting. Most virtualizers do not do all what can be done simply because it doesn't really buy that much for 99% of VPS users. If performance is so overwhelmingly critical (which for Altitude it doesn't seem to be the case because people are running on VPS fine) don't go in for a VPS. People have this notion that anything virtualized is "slow". Virtualization is about utilizing resources with plenty of hardware just laying idle. With the advent of more and more hardware virtualization support it's only getting better & better. Yes I understand there are poorly implemented VPS services out there but that is most of the time poor management. If you max out resources it doesn't matter whether it's a VPS or a real server you're going to hurt the performance. Last edited by Tekn0; 07-13-2011 at 04:43 PM. |
|
|