32 vs 64 bit server
The linode I have in mind is the 512 with Ubuntu server. During the first months I will probably just play with it (git, svn, file and webserver, not to forget security settings, taking backups) and learn, but later on I would use it mainly as a webserver (apache or nginx, mysql or mariadb) for wordpress based blogs.
If you go for one of the smaller linodes (512, 768 or even 1024) which is the best? The 32 or 64 bit (ubuntu) server version? I have done some reading and it is quite clear which version I should choose when I have 4GB of RAM or more. What are the criteria for either going for the 32 or the 64 bit version when you have (a lot) less than 4 GB of RAM?
thanx
Johan
11 Replies
If you were doing mysql benchmarks and wanted the best performance figures, you would choose 64bit. In real life, either one works well.
The majority of people will tell you to use 32bit. It's slightly faster in most benchmarks run on a linode, and uses slightly less memory.
Either one works well.
Thanks for the reply.
What this means is that less RAM will be available to be used as buffers and cache, which in turn hurts everything else's performance. On a VPS where disk I/O is the #1 bottleneck, extra RAM is a lot more valuable than raw CPU speed. (That's why all the plans are named after the amount of RAM they provide.) So unless you'll have nothing but MySQL on the server, it's probably a good idea to stick to 32-bit.
32-bit Linode runs circles around 64-bit Linode:
But of course, your mileage may vary.
With Wordpress + MySQL, neither of these will usually apply. If you reach the point where you're cranking up the MySQL buffers and caches to multiple gigabytes, then you're probably going to be splitting off MySQL to its own pair of instances anyway and can opt for 64-bit then.
New rule of thumb for MySQL+64-bit: you don't need 64 bits until the monthly budget for your database cluster exceeds the capacity of an 8-bit integer
@SteveX:
But for a 8GB Linode, 64 would be best, right? (Running centos + cpanel, with about 100 accounts).
Maybe. Where is the 8 GB of RAM being used? If it's 200 prefork'd Apache processes, you don't need to go 64-bit. If you're hoping to have a 7 GB MySQL process (innodbbufferpool_size >= elephant), you'll need to go 64-bit.
Disclaimer: I haven't had prior occasion to consider a web-hosting application on a 8 GB instance.
@Guspaz:
You don't need a 64-bit kernel to use 8GB of RAM, that's what PAE is for. You only need a 64-bit kernel if you want any individual process to use more than 3GB of RAM (I think Linux uses a 3/1 memory split?), which is pretty unheard of. I could potentially see MySQL using up more than 3GB of RAM (although if I had 4GB of RAM, I'd only want 3GB for MySQL to leave room for everything else and the disk cache), but most other scenarios have you splitting up your memory-intensive things like PHP into different processes, be it because you've got a million Apache processes, or you're using fastcgi.
MongoDB
Thing being though, if you plan on running MongoDB as a "serious" deployment (not just for your personal "experiment with Mongo" thing), 64bit is the way to go - it'll save hassle later.