Centicero - $6 64MB OpenVZ VPS in Scranton, PA

Here’s more low end VPS. Saw this ad on WHT, Centicero is offering HyperVM/OpenVZ based VPS from $6/month, which includes:

  • 64MB guaranteed / 96MB burstable memory
  • 5GB storage
  • 50GB monthly data transfer
  • Various Linux distributions

Their main website resolved to BurstNET in Scranton, PA. In the WHT offers it does mention that “Please note that these prices won’t be this low forever - so be quick!” — and it appears the VPS costs $6/month + $4.99 setup fee, or $90/year ($7.50/month).

VPS Empire - 256MB OpenVZ VPS for $6.95

Via this WHT offer, VPS Empire, a “week-old” VPS provider according to the domain registration, is offering some dirt cheap VPS plans. For $6.95/month you get the following OpenVZ VPS:

  • 256MB guaranteed/512MB burstable memory
  • 5GB storage
  • 100GB monthly data transfer
  • CentOS/Debian/Fedora Core
  • HyperVM

Yup. Under 7 bucks a month for 256MB memory guaranteed — too good to be true? Digging up the poster on WHT I think the owner might be UK based, but the server is with GNAX in Atlanta, Georgia.

Update: It appears that VPSEmpire has completely updated its plans to something completely different. The low end now is $4.95/month with 128MB memory, 5GB storage and 50GB data transfer/month.

sell WHM - $4.95 OpenVZ VPS with 64MB RAM

Via this WHT offer, sell WHM is offering some cheap virtual servers powered by OpenVZ and HyperVM. For $4.95/month you get:

  • 64MB guaranteed memory
  • 5GB storage
  • 100GB monthly data transfer
  • OpenVZ/HyperVM

DC is in Atlanta, Georgia (inside the GNAX DC). Unfortunately there’s no stock available at the moment. Do note that domain has only been registered since December last year so very much a newish provider.

FiveMinuteVPS - $5 OpenVZ VPS with 128MB RAM

Via this WHT offer, Five Minute VPS is offering some incredibly cheap VPS plans — all deployable under 5 minutes. For $5/month you get:

  • 128MB guaranteed memory (256MB burstable)
  • 5GB storage
  • 20GB data transfer/month
  • 100-700Mhz CPU guaranteed
  • OpenVZ/HyperVM

All servers are in San Fransisco Bay area in the SVTIX datacenter. Might be New Zealand based with their +64 support number. They are actually subsidiary of Netxservers which also offers cheap VPS.

NetXServers - $6 64MB OpenVZ VPS

Via this WHT offer, NetXServers’ VPS plans start from $6/month Mini VPS with the following spec:

  • 64MB guaranteed/128MB burstable memory
  • 4GB storage
  • 20GB monthly data transfer
  • CentOS/Debian/Fedora Core/Gentoo/OpenSuSE/Ubuntu

Servers seem to be in Dallas, TX.

Update 2008-06-09: VPS plans seem to be discontinued. When you go to the page it gives you back this blob:

All NetXServers.net VPS plans are being discontinued (New Orders Only). For our new range of plans, please check our new site out at FiveMinuteVPS.com!

GretzkyHosting - $6.95 OpenVZ VPS with 96MB RAM

Found UK-based GretzkyHosting and their budget VPS plans through “random clicking”. Their lowest OpenVZ/HyperVM plan is only $6.95/month with the following spec:

  • 96MB guaranteed memory/192MB burstable memory
  • 5GB storage
  • 150GB monthly data transfer
  • CentOS/Debian/Gentoo/Ubuntu/Fedora

Their servers are with SaidHost in Philadelphia. They are also reselling SaidHost’s budget dedicated servers starting from $21.95 for a 1Ghz/256MB Pentium III.

Stick to 32 Bit For Your Low End Box

When you go and find a cheap low end Linux virtual server, the criteria usually involve price (very important!), location (for low latency SSH access), virtualization (Xen vs. OpenVZ?), etc. However the “bit-ness” is rarely looked at. Most current Intel and AMD processors can run 64bit instruction sets, and many virtual server vendors are also offering VPSs in either 32bit or 64bit.

However, contrary to conventional wisdom, bigger is not necessarily better. Do you really have a need for 64 bit on your 64MB VPS? Maybe (but not likely), and it will actually be more prudent to stick with the good ol’ 32 bit, because for exactly the same application, it actually uses less memory on 32bit than 64bit!

Currently I’ve got two 64MB Xen VPS — one running 32bit Debian Etch at Datarealm, and the other running 64bit Ubuntu Hardy at RapidXen. Two have very similar stack — syslogh-ng, xinetd with dropbear, Vixie Cron, Postfix, Lighttpd and PHP. The 32bit Debian actually runs a few more — gld for greylisting and 2x PHP/FastCGI processes (which are at 6MB each). Guess what, I actually have more memory left with my 32bit Debian VPS than my 64bit Ubuntu VPS!

It makes sense that 64bit programs use more memory. Integers and pointers are now double the size. So you are not only allocating more, you also need a bigger stack for bigger pointers. Result? Less free memory for other applications or cache.

You can still make a 64bit 64MB VPS do a lot of tricks, but if the only reason to get 64bit is huge address space + ability to do massive matrix manipulation, then you are going to need a lot more memory anyway.

Meanwhile, for a small web head or a redundant MX, 32 bit ought to be enough :)

VPSLink - 64MB OpenVZ/Xen VPS for $3.31 with 2 Year Prepaid

Via this WebHostingTalk offer, you can now buy 1 year of VPSLink OpenVZ or Xen VPS plans and then get the second year free with coupon code ANNIVERSARY2. That means when you pay $79.44, you get the following virtual server for 2 years (comes down to $3.31/month):

  • 64MB memory
  • 2.5GB storage
  • 100GB data transfer/month
  • Ubuntu/CentOS/openSUSE/Gentoo/Fedora/Debian/Slackware/Arch Linux
  • Xen or OpenVZ

VPSLink is part of a very reputable VPS hosting company Spry.com, and they have their data centre in Seattle WA. This is one very cheap way to get root — if you are committed to two years.

HostInEuro - 4€ 64MB OpenVZ VPS

Just found another low-end/cheap VPS provider. HostInEuro has a low end plan “VPS 50″ that’s 4 euro a month which gives you:

  • 64MB guaranteed memory/256MB burstable
  • 2GB storage
  • 50GB data transfer per month
  • OpenVZ
  • CentOS, Debian, Fedora Core, Suse, Ubuntu, Gentoo

From the “About Us” page it looks pretty well established. The servers are in Avaya Databurg Datacenter in Frankfurt, Germany.

Reducing MySQL Memory Usage for Low End Boxes

MySQL is pretty much the de facto database engine for most open source scripts, and it is almost-always installed on hosted servers. However the default MySQL installation on Debian/Ubuntu takes around 25MB RSS on a cold-start. Well, not too bad I guess, unless you are running a tight ship with only 64MB of total memory. Depending on how important MySQL is to your stack, you might wish to bring the memory usage down so you can fit other applications in memory.

The easiest way is to start from an existing configuration file to bring down the memory usage, and then tune it to bring back adequate performance. On Debian/Ubuntu you might wish to replace your installed /etc/mysql/my.cnf with my-small.cnf that can be found in /usr/share/doc/my-server-5.0/examples. I am also attaching a my.cnf here that is taken out from CentOS 4 installation of LxAdmin (which has been famous for its low-memory foot print). It is pretty much based on my-small.cnf. Some important notes:

  • skip-bdb and skip-innodb are added, so you don’t get BSD DB nor InnoDB support. BSD DB support in MySQL is pretty much obsolete, and many open source scripts don’t rely on the presence of InnoDB. A low end VPS is not likely to enjoy the concurrency InnoDB is offering anyway. Transaction and referential integrity? Real ProgrammersTM write their own rollback routines :)

  • key_buffer is only 16K which is far from enough. key_buffer is pretty much one of the most important parameter for MyISAM tables and I usually bump it up to at least 1MB. The same can be said about table_cache — 4 is way too small. A WordPress page will likely touch 10 tables, and much more for apps like Drupal or MediaWiki.

  • Query cache might be a good thing if you intend to run a busy site on such a low end VPS (provided that it has small data set, mostly read, like blogs, news sites, etc). I have my query_cache_limit set to 256K and query_cache_size set to 4M here.

After a few adjustment you should be able to start mysqld at around 5-6MB RSS. You might need to check the runtime variables to monitor the performance and how everything works out.