2x360, 1x540 or 1x360?
I currently own a single 360 Linode which I have the following on:
Lighttpd + FCGI PHP (with execwrap/suexec), MySQL, Postfix, Dovecot, Spamassasin, SVN.
There are around 5 domains that run PHP (so 5+ PHP processes all around 20mb each), 1 of those domains has around 5 subdomains (one of which is Ruby/ROR, not PHP). They are not exactly high traffic domains, apart from one which pulls in around 1.2/1.3million hits a month but still that isn't too much.
For a while I've always been using swap space, around 180mb of it - now after some recent tweaks to MySQL I've got that swap usage to 80mb, so much healthier (and faster) than before.
I've been debating with my self if to get another 360 which will purely run MySQL + Mail, or just upgrade to a 540. This morning I did actually buy another 360 and got it mostly setup, but something is telling me to not use it and either A) Upgrade to single 540, B) Tweak existing to get lower memory usage.
So, what would you advise, keep current, upgrade or continue to use additional 360?
If you're hitting swap, then you're already taking a huge performance hit. The secondary cost to that is if you're swapping, you have little to no memory available for caching disk reads. MySQL really benefits from disk caching, especially in read heavy applications.
Speaking of caching… if you do decide to stick with your single 360 (or even if you go with a second 360). Have you looked at other caching options? You can take a big chunk out of your memory usage by caching at a couple different levels in your stack. Look at using memcached with Lighttpd and/or MySQL, and some sort of op-code caching for your PHP stuff (I don't run PHP, so I don't know what the options there are).
sanity checks greylisting