Slicehost vs. AWS EC2

The Reason

Just *how *fast are various virtual machine (VM) server hosting services? There are many different plans, prices, and feature sets; however, I have not seen many good benchmark comparisons between VM hosting services. To this end, I decided to do a quick comparison of Amazon Web Services EC2 (AWS) and Slicehost, my current choice for hosting.

There are many different metrics I could benchmark and many different ways I could do so. I don’t have a lot of time, so I was lazy and used the byte-unixbench suite to perform my tests. I used the latest available stable version which was 5.1.2.

Author’s note: I know these machines are not exactly the same and that if they were more similar the benchmarks would be more meaningful. That said, I think this data is useful and interesting regardless so I am sharing here.

The VMs

Slicehost256 slice – $20/month

  • 1 CPU unit
  • 256mb ram
  • 10gb disk
  • 150GB transfer
  • VM server locations tested – US: Dallas/DFW
  • Gentoo 10.1

AWSMicro EC2 ~$20/month

  • 1 CPU unit
  • 623 MB ram
  • 15GB disk
  • paid transfer/GB
  • VM server locations tested – US: Virginia AND California
  • Fedora Core 8 (ami-b232d0db)

The Methodology

I installed, compiled and ran the byte-unixbench application on each VM. Each test was run twice to verify the results between tests did not vary beyond 5%. The byte-unixbench platform omitted the graphics tasks since these were text-console-only VMs.

The Results

Slicehost

======================================================================

BYTE UNIX Benchmarks (Version 5.1.2)

System: zerowing: GNU/Linux

OS: GNU/Linux -- 2.6.24-23-xen -- #1 SMP Mon Jan 26 03:09:12 UTC 2009

Machine: x86_64 (AuthenticAMD)

Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")

CPU 0: Quad-Core AMD Opteron(tm) Processor 2350 HE (4011.6 bogomips)

Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSCALL/SYSRET

09:06:47 up 6 days, 21:48,  1 user,  load average: 0.00, 0.00, 0.00; runlevel


Benchmark Run: Sun Sep 12 2010 09:06:47 - 09:34:46

1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       16064847.2 lps   (10.0 s, 7 samples)

Double-Precision Whetstone                     1742.5 MWIPS (9.6 s, 7 samples)

Execl Throughput                                714.0 lps   (29.9 s, 2 samples)

File Copy 1024 bufsize 2000 maxblocks        138066.4 KBps  (30.0 s, 2 samples)

File Copy 256 bufsize 500 maxblocks           35927.3 KBps  (30.0 s, 2 samples)

File Copy 4096 bufsize 8000 maxblocks        365354.4 KBps  (30.0 s, 2 samples)

Pipe Throughput                              227413.5 lps   (10.0 s, 7 samples)

Pipe-based Context Switching                  57563.5 lps   (10.0 s, 7 samples)

Process Creation                               1853.0 lps   (30.0 s, 2 samples)

Shell Scripts (1 concurrent)                   1702.9 lpm   (60.0 s, 2 samples)

Shell Scripts (8 concurrent)                    511.5 lpm   (60.1 s, 2 samples)

System Call Overhead                         249555.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX

Dhrystone 2 using register variables         116700.0   16064847.2   1376.6

Double-Precision Whetstone                       55.0       1742.5    316.8

Execl Throughput                                 43.0        714.0    166.0

File Copy 1024 bufsize 2000 maxblocks          3960.0     138066.4    348.7

File Copy 256 bufsize 500 maxblocks            1655.0      35927.3    217.1

File Copy 4096 bufsize 8000 maxblocks          5800.0     365354.4    629.9

Pipe Throughput                               12440.0     227413.5    182.8

Pipe-based Context Switching                   4000.0      57563.5    143.9

Process Creation                                126.0       1853.0    147.1

Shell Scripts (1 concurrent)                     42.4       1702.9    401.6

Shell Scripts (8 concurrent)                      6.0        511.5    852.6

System Call Overhead                          15000.0     249555.3    166.4

======

System Benchmarks Index Score                                         309.1

AWS EC2

East (VA)

====================================================================== BYTE UNIX Benchmarks (Version 5.1.2) System: ip-10-205-13-162: GNU/Linux OS: GNU/Linux -- 2.6.21.7-2.ec2.v1.2.fc8xen -- #1 SMP Fri Nov 20 19:22:36 EST 2009 Machine: i686 (i386) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Xeon(R) CPU E5430 @ 2.66GHz (5324.6 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, Intel virtualization 12:23:40 up 3 min,  1 user,  load average: 0.39, 0.19, 0.07; runlevel 4 ------------------------------------------------------------------------ Benchmark Run: Sun Sep 12 2010 12:23:40 - 13:03:30 1 CPU in system; running 1 parallel copy of tests Dhrystone 2 using register variables        4035717.2 lps   (10.3 s, 7 samples) Double-Precision Whetstone                     2414.8 MWIPS (10.1 s, 7 samples) Execl Throughput                                151.7 lps   (30.4 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks        122499.4 KBps  (30.7 s, 2 samples) File Copy 256 bufsize 500 maxblocks           12271.0 KBps  (30.5 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks        287778.0 KBps  (30.6 s, 2 samples) Pipe Throughput                               39820.5 lps   (10.5 s, 7 samples) Pipe-based Context Switching                  18016.6 lps   (10.8 s, 7 samples) Process Creation                                409.3 lps   (30.9 s, 2 samples) Shell Scripts (1 concurrent)                    856.9 lpm   (61.3 s, 2 samples) Shell Scripts (8 concurrent)                    114.9 lpm   (62.5 s, 2 samples) System Call Overhead                          31315.4 lps   (10.6 s, 7 samples) System Benchmarks Index Values               BASELINE       RESULT    INDEX Dhrystone 2 using register variables         116700.0    4035717.2    345.8 Double-Precision Whetstone                       55.0       2414.8    439.1 Execl Throughput                                 43.0        151.7     35.3 File Copy 1024 bufsize 2000 maxblocks          3960.0     122499.4    309.3 File Copy 256 bufsize 500 maxblocks            1655.0      12271.0     74.1 File Copy 4096 bufsize 8000 maxblocks          5800.0     287778.0    496.2 Pipe Throughput                               12440.0      39820.5     32.0 Pipe-based Context Switching                   4000.0      18016.6     45.0 Process Creation                                126.0        409.3     32.5 Shell Scripts (1 concurrent)                     42.4        856.9    202.1 Shell Scripts (8 concurrent)                      6.0        114.9    191.5 System Call Overhead                          15000.0      31315.4     20.9 ====== System Benchmarks Index Score                                         107.2

West (CA)

====================================================================== BYTE UNIX Benchmarks (Version 5.1.2) System: ip-10-162-183-208: GNU/Linux OS: GNU/Linux -- 2.6.21.7-2.ec2.v1.2.fc8xen -- #1 SMP Fri Nov 20 19:22:36 EST 2009 Machine: i686 (i386) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Xeon(R) CPU E5430 @ 2.66GHz (5324.2 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, Intel virtualization 14:30:48 up  1:17,  1 user,  load average: 0.00, 0.00, 0.28; runlevel 4 ------------------------------------------------------------------------ Benchmark Run: Sun Sep 12 2010 14:30:48 - 15:17:06 1 CPU in system; running 1 parallel copy of tests Dhrystone 2 using register variables         881153.5 lps   (10.4 s, 7 samples) Double-Precision Whetstone                     2487.3 MWIPS (10.0 s, 7 samples) Execl Throughput                                139.6 lps   (30.9 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks         33377.6 KBps  (30.2 s, 2 samples) File Copy 256 bufsize 500 maxblocks           14578.0 KBps  (31.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks         70487.5 KBps  (30.7 s, 2 samples) Pipe Throughput                               55655.4 lps   (10.5 s, 7 samples) Pipe-based Context Switching                   6614.1 lps   (10.6 s, 7 samples) Process Creation                                944.2 lps   (30.0 s, 2 samples) Shell Scripts (1 concurrent)                    449.0 lpm   (61.0 s, 2 samples) Shell Scripts (8 concurrent)                     31.5 lpm   (63.4 s, 2 samples) System Call Overhead                          23783.9 lps   (10.4 s, 7 samples) System Benchmarks Index Values               BASELINE       RESULT    INDEX Dhrystone 2 using register variables         116700.0     881153.5     75.5 Double-Precision Whetstone                       55.0       2487.3    452.2 Execl Throughput                                 43.0        139.6     32.5 File Copy 1024 bufsize 2000 maxblocks          3960.0      33377.6     84.3 File Copy 256 bufsize 500 maxblocks            1655.0      14578.0     88.1 File Copy 4096 bufsize 8000 maxblocks          5800.0      70487.5    121.5 Pipe Throughput                               12440.0      55655.4     44.7 Pipe-based Context Switching                   4000.0       6614.1     16.5 Process Creation                                126.0        944.2     74.9 Shell Scripts (1 concurrent)                     42.4        449.0    105.9 Shell Scripts (8 concurrent)                      6.0         31.5     52.5 System Call Overhead                          15000.0      23783.9     15.9 ====== System Benchmarks Index Score                                          64.2

The Conclusion

The hosts I tested, at least, indicate that Slicehost has VMs which perform much better in the byte-unixbench test suite than Amazon EC2 instances. Since the costs are about the same, I’d strongly recommend you evaluate both services carefully if you are looking for a VM. The benchmarks, obviously, can’t tell you everything but I think they shine some light on what you could expect from the service.
Yes, my Slicehost VM is on an underutilized server (likely) while my EC2 instances were on utilized servers; that is why you need to be careful reading into these. That said, however, the benchmarks still show what you can expect. For now.