Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've got a VPS server that is hosting a very low traffic server for an iPhone / Android app. Probably handles a max of 300 very small JSON requests per day (a KB of text per request at absolute most), and the server sends a max of about 50 emails. These numbers are likely to grow but not substantially and incrementally. The reason for going with a VPS initially was not for capacity but flexibility and reliability reasons. It is critical that the emails are sent immediately, so we didn't want to rely on the hosting provider which may delay etc. Also, we wanted the flexibility to run non-standard applications on the server, for instance Spatialite (variant of Sqlite) to help with location-based queries.

So to my question...... I am about to set up a very similar server for a different app. Given that I am using a fraction of the CPU (I currently have the smallest Linode, 512MB RAM) and bandwidth or the current VPS, is this still the best way to go? I was thinking of lowering the spec, but to my (perhaps naive) mind even 128MB seems like overkill, although those packages seem to have drivespace that is possibily a little too small for our needs. Also, I suppose once you get down to a certain level of cost, say $7.50 / £5 per month, there is very little room for a provider to lower prices as it may not be worth their while from an admin point of view. I can appreciate there may be no market for "extremely" low capacity VPS. Can shared hosting be ruled out?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

Be wary of very cheap VMs - you will find yourself sharing the host with many many other VMs making contention for CPU time and IO bandwidth both higher and less predictable.

The VM having as little RAM as possible is not a good idea because if your RAM needs increase at all (during bursts of activity on the app) you will be swapping. This will be confounded on an overloaded host as the extra IO operations due to moving pages between RAM and disk will compete with the IO from all the other VMs. To make sure you know what your minimum RAM required for efficient running is, rather than the RAM needed when idle, test the app on VMs on a local machine, varying the RAM size and making sure you test the app under pressure (i.e. if a large number of its users decide to do something in the same minute). Run these VMs from a slow drive (a cheap USB stick for instance) with the host's disk cache turned off, that way the point at which RAM limits become an issue will be more obvious in test results.

If your current app is not using much of the resources available to your VM at Linode, you could run both apps on the same VM (just getting an extra IP address assigned if you need it for HTTPS for browsers that don't support SNI) unless of course either or both apps is run for a client who has reason to not want to share a machine like that.

Also depending on your ISP and the bandwidth requirements you might consider hosting the app off your home connection. When I move to an FTTC line in a month or two I plan to move a few little things "in house" (I already have a small server running 24/7 so the extra power requirements are moot). Of course you need a reliable ISP who provides at least one static IP address and permits servers to be run off residential lines, but if the app's requirements are very low even a basic ADSL2 line with a 448kbit upstream rate may be enough and the extra 5-to-40ms latency (depending on line quality and ISP back-haul setup) isn't likely to matter.

Having said all that there are many hosts offering cheap low-powered VMs, many of which will be within the budget you mention. Scan the offers forums of places like WHT or sites like LowEndBox but make sure you check out any provider before signing up, be careful of annual payment options (an insanely cheap host that wasn't here a few months ago probably won't be in a few months time), and if the virtualisation solution offered includes "burstable RAM" be doubly sure (or quadrupaly sure...) that your app doesn't need any more than the fixed/garanteed allocation. Also be aware that you are unlikely to see the level of features and support you get from Linode (I've not used their service recently, but when I did a couple of years ago I was quite impressed).

share|improve this answer
    
Thanks for the pointers. I guess it could be a false economy –  Stev_k Jun 2 '11 at 23:29
    
They may be some very good very-low-budget VPS providers out there, but the trick is finding them in amongst the rest! –  David Spillett Jun 3 '11 at 1:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.