

Hetzner EX 4S Unixbench, dd and htparm results - simon_kun
https://gist.github.com/1723876

======
vladd
The price for Hetzner's EX 4S is 49.58 EUR for non-EU customers and 59 EUR per
month VAT-included for most EU customers (EU corporations registered for VAT
purposes need to apply the VAT specific to their own country). 

An Amazon m2.4xlarge instance (High-Memory Quadruple Extra Large Reserved
Instance) with Heavy Utilization on a 3-year commitment costs $9'660 for the
3y term and 3 * 365 * 24 * $0.454 = $11'931 in usage fees, which means a
$21'591 total, $7'197 per year or $600 per month (EUR 458 per month at the
current exchange rate). 

458 EUR versus 49-60 EUR is 9x more expensive at full-time usage. ( instance
type and price data extracted from <http://aws.amazon.com/ec2/instance-types/>
and <http://aws.amazon.com/ec2/pricing/> ). 

If you were to consider just the Amazon Heavy Utilization term commitment for
3 years, that's still $9'660 / 3 / 12 = $268 (EUR 205) each month. 

~~~
julian37
That's hardly a fair comparison.  Last time I checked Hetzner doesn't offer
auto scaling, "elastic" load balancing, or any of the countless other features
that EC2 offers.  Actually, forget auto-scaling: what if you want to bring up
another bunch of instances manually to deal with a spike in demand? 

The EX 4S looks like a very compelling alternative for many use cases but
saying that its 9x cheaper is comparing apples to oranges. 

~~~
dasrecht
Of course Elastic Scaling is not possible.  Because Hosting a server in a
datacenter and having cloud instances are two different stories.  If you have
need for flexibility you can simply run a loadbalancer having your base
hardware hosted for a good price at hetzner (or another datacenter you like)
and then spin up some AWS Instances behind the loadbalancer for dealing with
spikes. 

Or as others have written you can buy 3 boxes at hetzner and scale 300% ;)

Solution? 

~~~
prateekdayal
The problem is that you need to have all the three boxes on the same rack
wired up to a gigabit switch.  Hetzner can do that for you but you can't add or
remove servers easily. 

I have found that OVH has a virtual rack that can accomplish this.  After years
with Hetzner I think it is time to move on

~~~
nirvana
Do you have data for the difference in latency &/or bandwidth between servers
on the same rack at Hetzner vs. on different racks? 

I was assuming that having the servers in different racks would be an
advantage, mainly because the reason I have multiple servers is for data
redundancy (I'm using Riak and data is replicated across the cluster.) 
However, in Riak the servers do talk to each other a fair bit. 

The latency and bandwidth between a given server and a web browser out in the
world shouldn't vary much from rack to rack, I'm assuming. 

~~~
mike_esspe
Sometimes i had a 5-10% ping loss between servers in the same Hetzner
datacenter, so not being on the same rack can be a problem.  Especially if you
are using nginx -> backend.  Then every request is a TCP connect to the backend
server, and when SYN packet is lost, you will have a 3 seconds timeout (at
least on FreeBSD TCP stack). 

------
bashtoni
Apples / Oranges. 

Quite apart from the ability to buy by the hour, the Hetzner offering really
isn't suitable for processing any data you care about - it's not using ECC
RAM, and the processor used doesn't support it. 

~~~
mjb
Why is this being downvoted?  The processor used (i-7 2600) does not support
ECC RAM, and this platform does not include it.  A server platform without ECC
RAM is a pretty big disadvantage for several reasons, to most compelling being
the high real-world rate of memory errors in real systems.  Memory errors in
non-ECC systems can be extremely difficult and expensive to track down, and
can cause data corruption or loss if the machine is used in the data pipeline. 

In one study (<http://www.cs.toronto.edu/%7Ebianca/papers/sigmetrics09.pdf>),
strong correlations were found between age, usage and error rate.  Before using
a server without ECC RAM, it's worth doing a quick estimate of the amount of
data you intend to move around, and whether it's worth it to you (and, more
importantly, your customers) to save a little money going with a non-ECC
platform. 

~~~
Travis
What would be the downside to using non ECC RAM in a heavily loaded server? 
Would it cause processes to crash? 

~~~
Diederich
If you are lucky, processes would crash.  More likely there would be silent
bits of data corruption. 

~~~
Travis
Gotcha, so it would just depend on what bits in RAM were corrupted (data
versus process instructions)? 

I am curious about a couple of specific use cases that I can think of where
this might affect me (and, most likely, would be common points of failure for
others):

1\. data in the MySQL tables (stored in memory) is corrupted.  Would mysql
crash?  Indicate table corruption, and I could just reload it from disk?  Write
corrupted data to disk, and permanently trash my data collection? 

2\. large process that's running data analysis (say a big python process with
tons of data in RAM).  Would one of my variables (say an int with value 4) turn
into another number?  Would it become unreadable? 

I appreciate the effort to explain this.  I know, in theory, why ECC RAM is
useful, but I have difficulty visualizing real world scenarios. 

~~~
jules
If it was a C int then it would just change to another value.  If it was a
Python int then two things can happen: either the bit flip was in the value
which causes the value to change, OR the bit flip was in the tag bits which
causes Python to interpret the data as something else than an int.  The latter
would most likely cause your program to crash. 

With MySQL any of those things you can happen.  If you're lucky then only the
cache is corrupted and then you can just reload from disk.  If you're unlucky
then the data got corrupted on its way to disk and the wrong data will be
written to disk.  If you are astronomically unlucky then the in memory machine
code of MySQL got changed in such a way that it starts overwriting your entire
disk with garbage.  You should probably be more afraid of meteorites though. 
And of bugs in either your own or others' code. 

ECC RAM reduces the probability of such a bit flip happening.  That doesn't
mean that they are eliminated entirely.  So you have to do these two things in
any case:

1\. Bit flips can cause processes to misbehave/crash.  So you want to have a
way to detect and restart misbehaving/crashed processes. 

2\. Even with ECC RAM you want to do your own error correction for critical
data (say a bank transaction log). 

Here is an interesting paper that discusses the prevalence of DRAM errors and
the effectiveness of ECC RAM:

DRAM Errors in the Wild: A Large-Scale Field Study --
<http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf>

It would be interesting if somebody did an experiment where they artificially
flipped bits of various software's memory to see what happens.  I'd expect that
in many cases it doesn't do any harm at all. 

~~~
pnathan
I suggest looking into studies of radiation effects upon computer systems. 
They do a lot of bit-flipping.  I was privy to results from a confidential
study once, and as one might expect, enough bit flips cause big problems (the
study went into more details than that, of course). 

------
Kudos
TLDR; the €59/mo EX 4S scores higher (1729) than AWS m2.4xlarge (1511). 

~~~
pgroves
That number for AWS is based on running the benchmark in May 2010 [1]. 

[1] [http://blog.cloudharmony.com/2010/05/what-is-ecu-cpu-
benchma...](http://blog.cloudharmony.com/2010/05/what-is-ecu-cpu-benchmarking-
in-cloud.html)

~~~
simon_kun
I'm not sure AWS have updated their specs since then (all the specs for an ECU
refer to a 1Ghz 2007 Xeon).  We also tested our staging c1.xlarge and it scored
less than the cloudharmony results indicated a c1.xlarge should. 

------
cmer
You might also want to check out some benchmarks I ran a few weeks ago.  It
compares many types of EC2 instances:
[http://blog.carlmercier.com/2012/01/05/ec2-is-basically-
one-...](http://blog.carlmercier.com/2012/01/05/ec2-is-basically-one-big-
ripoff/)

------
JoachimSchipper
Related to <http://news.ycombinator.com/item?id=3537513>. 

------
krobertson
Why is this company getting so much attention as of late?  I've never heard of
them until recently, and considering how crowded the whole VPS/dedicated
server market is, what makes them stand out? 

~~~
julian37
They are well known in Germany, they've been one of the biggest, if not the
biggest, provider of VPS and colo services over here since the mid 90s. 

The recent buzz is the first time I see them mentioned on US-centric sites
though, if memory serves. 

As for your question, it appears that many people find the price/performance
ratio of the EX 4S compelling. 

------
hjalle
This server is does not come with ECC-memory.  How "bad" would it be to run a
database server on a non ecc server? 

~~~
stephenson
As said other places, they have ECC servers to:
<http://www.hetzner.de/en/hosting/produkte_rootserver/ex6>

~~~
hjalle
I never meant to criticise, I saw that they have ECC-servers as well, I just
wondered what the implications would be if running a database on a non ecc
server, as I've never really understood how much damage it could cause. 

~~~
espennilsen
Short answer: ECC will save you from having corrupt data written to your
database if one of the DIMMs are corrupt. 

~~~
Arelius
Or more importantly, if cosmic rays hit your data in the wrong way. 

------
simon_kun
For those that are curious, the motherboard in these systems is a ASUSTeK
P8H67-M PRO.  Seems like it's a gaming board - understandable given it's an i7
platform. 

------
smw
Does anyone offer a similar product / price point in the US?  I haven't found
anything remotely close.  Why not?