Few questions about Xen
Linode looks like a really promising avenue for me and my website, and I'm seriously thinking about moving here since my current provider got swallowed up by a conglomerate and everything is going downhill ever since.
So I've had a few questions. I'm currently running a Lighty/MySQL/pureftp/mail with ventrilo on an OpenVZ 256ram box. Everything runs smoothly, and I chose OpenVZ because it seems to be the better choice when running a webserver (from what I've read and seen in performance).
Thing is, Linode only offers Xen. I have a rather medium-sized website (it's an online RPG, really) that is about to get a burst of visitors because we've finished developing (hence the lighter OpenVZ platform) and are looking into an upgradable scheme vps host (just like Linode) to start off this little puppy.
Since I'd rather have a Linode-centric point of view, how much do you guys think a 512ram on Xen can handle with these 5 services? The ventrilo is lightly used only, so I don't think it would be an issue, but considering there will be a heavy load especially on lighty and sql, and I've been getting used to lighty rather than Apache, is one or the other preferable to use on Xen?
Also, for those people out there with heavy lighty/apache + sql running servers, how is Xen handling it all? I'm just curious!
Thanks for any answers.
Edit: Also, I was wondering if there were download files I can test or servers I can ping to see which datacenter to choose. I'm looking more at the East Coast area NJ/Atlanta/etc
10 Replies
@Vudu:
… I've been getting used to lighty rather than Apache, is one or the other preferable to use on Xen?
Consensus seems to be lighty because of its smaller memory footprint.
@Vudu:
Also, for those people out there with heavy lighty/apache + sql running servers, how is Xen handling it all?
My Linodes are only lightly loaded, so I can't help here.
@Vudu:
Also, I was wondering if there were download files I can test or servers I can ping to see which datacenter to choose. I'm looking more at the East Coast area NJ/Atlanta/etc
Speed tests and servers to ping. here
I have no doubt that I could handle about a hundred times the traffic and still not be stressing my linode, although I'd caution that what I'm running is stuff written by myself directly, and fairly resource-light (not a complex web-app), so the bigger apps/sites can get a lot more bloated.
Axod runs mibbit (a web-based ajaxy IRC client) on Linode, so he'd probably have a better idea what happens under actual high load (he's running 10-15k or more simultaneous connected users off multiple linodes, probably getting into the billions of "pageviews" per month). You could try asking him (he's occasionally in the Linode IRC channel, but more frequently on his own IRC network that he hosts at Linode).
@Guspaz:
I can say that I handle about a million database-backed pageviews per day from my 768, and my node is virtually idle… The only reason I'm seeing like 4-5% CPU usage on average is because I run a university club's internet connection through my linode over OpenVPN (encryption is CPU-intensive).
I have no doubt that I could handle about a hundred times the traffic and still not be stressing my linode, although I'd caution that what I'm running is stuff written by myself directly, and fairly resource-light (not a complex web-app), so the bigger apps/sites can get a lot more bloated.
Axod runs mibbit (a web-based ajaxy IRC client) on Linode, so he'd probably have a better idea what happens under actual high load (he's running 10-15k or more simultaneous connected users off multiple linodes, probably getting into the billions of "pageviews" per month). You could try asking him (he's occasionally in the Linode IRC channel, but more frequently on his own IRC network that he hosts at Linode).
Sounds awesome. The RPG we've developed is written from scratch as well to minimize inbound and outbound information as much as possible (and reduce lag), so seeing how you seem to handle so many 'views' is reassuring.
Thanks for answering my questions
Linodes are extremely performant, though. I doubt you'll have any issues, unless your application is resource intensive, and even then it's likely that you can painlessly scale to a larger linode to compensate. I can't imagine ever going back to dedicated servers…
@Guspaz:
Errm, sorry, I meant per month, not per day. My bad. Axod, though, he probably does handle billions per day spread out over his few linodes.
Linodes are extremely performant, though. I doubt you'll have any issues, unless your application is resource intensive, and even then it's likely that you can painlessly scale to a larger linode to compensate. I can't imagine ever going back to dedicated servers…
Yeah, no biggie. I was running between 4 and 14% load on my OpenVZ, but it had 256ram. I was just worried about the Xen architecture, but considering I'm going for 512, I doubt the code will have any repercussions on the load.
@Vudu:
Everything runs smoothly, and I chose OpenVZ because it seems to be the better choice when running a webserver (from what I've read and seen in performance).
I've heard that "OpenVZ performs better" anecdotally, but never seen any data to support it. Do you have something specific that you base your assertion on? I'm not doubting you, just looking for the source of the belief.
It's my understanding (I might be wrong) that under OpenVZ, you're using a shared kernel and the separation isn't as clear-cut as it is with Xen. While that may contribute positively to performance, I have doubts that it does.
In my relatively short experience with Linode, I've not seen a workload that Xen wasn't able to handle. Overall, I feel like Xen is a better choice, but I don't see a lot of hard data either way. Also anecdotally, I've read that Linode is considered most powerful by reputation, which probably speaks well for Xen.
@jed:
I've heard that "OpenVZ performs better" anecdotally, but never seen any data to support it. Do you have something specific that you base your assertion on? I'm not doubting you, just looking for the source of the belief.
It's my understanding (I might be wrong) that under OpenVZ, you're using a shared kernel and the separation isn't as clear-cut as it is with Xen. While that may contribute positively to performance, I have doubts that it does.
In my relatively short experience with Linode, I've not seen a workload that Xen wasn't able to handle. Overall, I feel like Xen is a better choice, but I don't see a lot of hard data either way. Also anecdotally, I've read that Linode is considered most powerful by reputation, which probably speaks well for Xen.
It's an overhead thing. While OpenVZ/Virtuozzo are undesirable in many respects, their nature as a glorified chroot jail means that from a purely synthetic standpoint there's just less overhead. Of course, once you start loading up multiple virtual machines in parallel, performance starts coming down to things like resource isolation and scheduling and whatnot… But with a single virtual machine, comparing between OpenVZ and Xen, OpenVZ should benchmark higher.
I'd still take Xen any day…
I doubt that there would be much noticeable difference, though, as it may all come down to how the total load on a OpenVZ box compares to a Xen box actually.
Edit: Well, I'm on a Linode now. The service is insane, I got a reply from support seconds after posting a question… Can't wait to get this puppy set up!
In Xen, memory is treated just like on a dedicated server. You have your RAM (512MB in the base case at Linode), and you have some swap (if you set it up), and your unused RAM is used for disk cache and buffer. In my opinion, this makes Xen easier to use than OpenVZ, because, excepting kernel selection (pvgrub versus grub), there is very little difference between a Xen node and a real box.
There are still some differences, though. You can't access the hardware clock with pvops kernels (which all the new ones at Linode are), so the node's clock tends to drift. The simple solution to this is just to install ntpd, which will keep your clock actively synced (it goes beyond just periodic syncs, it can subtly speed up or slow down the clock to cancel out drift).