6 min read

Digital Ocean with virtio enabled

Last night I submitted a Ticket to the Digital Ocean asking about virtio, but unfortunately I slept and left the ticket unanswered. Sorry Etel 😀
This morning when I open the Ticket, I give the full Credit Card number, and also my last billing transaction to Etel, and then she charged me $0.25 for verification purpose to the Credit Card and added it to the ballance.
DigitalOcean
Next, after having the virtio enabled, everytime we want to create a server, the “Enable virtio” button will appear.
virtio

CPU info

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 2
model name      : QEMU Virtual CPU version 1.0
stepping        : 3
cpu MHz         : 1999.997
cache size      : 4096 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 4
wp              : yes
flags           : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pse36 cl
flush mmx fxsr sse sse2 syscall nx lm up pni vmx cx16 popcnt hypervisor lahf_lm
bogomips        : 3999.99
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

Freevps.sh

# wget freevps.us/downloads/bench.sh -O - -o /dev/null|bash
CPU model :  QEMU Virtual CPU version 1.0
Number of cores : 1
CPU frequency :  1999.997 MHz
Total amount of ram : 502 MB
Total amount of swap : 0 MB
System uptime :   20 min,
Download speed from CacheFly: 50.4MB/s
Download speed from Coloat, Atlanta GA: 11.3MB/s
Download speed from Softlayer, Dallas, TX: 28.8MB/s
Download speed from Linode, Tokyo, JP: 3.09MB/s
Download speed from Linode, London, UK: 4.55MB/s
Download speed from Leaseweb, Haarlem, NL: 12.0MB/s
Download speed from Softlayer, Singapore: 5.83MB/s
Download speed from Softlayer, Seattle, WA: 18.0MB/s
Download speed from Softlayer, San Jose, CA: 12.9MB/s
Download speed from Softlayer, Washington, DC: 42.6MB/s
I/O speed :  276 MB/s

 
Download speed after using virtio :

# wget cachefly.cachefly.net/100mb.bin
--2013-03-05 23:31:25--  http://cachefly.cachefly.net/100mb.bin
Resolving cachefly.cachefly.net... 205.234.175.175
Connecting to cachefly.cachefly.net|205.234.175.175|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100mb.bin'
100%[======================================>] 104,857,600 43.4M/s   in 2.3s
2013-03-05 23:31:28 (43.4 MB/s) - `100mb.bin' saved [104857600/104857600]
Download test from my website hosted by RamNode in Atlanta
# wget www.erawan.me/download/100mb.bin && rm -rf 100mb.bin
--2013-03-06 00:09:19--  http://www.erawan.me/download/100mb.bin
Resolving www.erawan.me... 199.241.31.150, 2604:180::7209:d73a
Connecting to www.erawan.me|199.241.31.150|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100mb.bin'
100%[======================================>] 104,857,600 13.8M/s   in 7.6s
2013-03-06 00:09:26 (13.2 MB/s) - `100mb.bin' saved [104857600/104857600]
Download test from my website hosted by Prometeus in Italy
# wget www.erawanarifnugroho.com/download/100mb.bin
--2013-03-06 00:09:44--  http://www.erawanarifnugroho.com/download/100mb.bin
Resolving www.erawanarifnugroho.com... 194.14.179.132, 2a00:dcc0:eda:89:14:179:4
260:84f4
Connecting to www.erawanarifnugroho.com|194.14.179.132|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100mb.bin'
100%[======================================>] 104,857,600 11.0M/s   in 24s
2013-03-06 00:10:09 (4.09 MB/s) - `100mb.bin' saved [104857600/104857600]

 Inodes

# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/vda             1310720   23471 1287249    2% /
tmpfs                  64310       4   64306    1% /lib/init/rw
udev                   63195     426   62769    1% /dev
tmpfs                  64310       4   64306    1% /dev/shm

 Disk Space

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vda               20G  1.1G   18G   6% /
tmpfs                 252M     0  252M   0% /lib/init/rw
udev                  247M   52K  247M   1% /dev
tmpfs                 252M  4.0K  252M   1% /dev/shm

 IO Test

# dd if=/dev/zero of=iotest bs=64k count=16k conv=fdatasync && rm -rf iotest
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 3.8947 s, 276 MB/s
# dd if=/dev/zero of=sb-io-test bs=1M count=1k conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.71654 s, 289 MB/s
# dd if=/dev/zero of=sb-io-test bs=64k count=16k conv=fdatasync
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 4.19729 s, 256 MB/s
# dd if=/dev/zero of=sb-io-test bs=1M count=1k oflag=dsync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.35805 s, 246 MB/s
# dd if=/dev/zero of=sb-io-test bs=64k count=16k oflag=dsync
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 30.1387 s, 35.6 MB/s

 IOPING

# ioping . -c 5
4096 bytes from . (ext4 /dev/disk/by-label/DOROOT): request=1 time=0.3 ms
4096 bytes from . (ext4 /dev/disk/by-label/DOROOT): request=2 time=0.4 ms
4096 bytes from . (ext4 /dev/disk/by-label/DOROOT): request=3 time=0.3 ms
4096 bytes from . (ext4 /dev/disk/by-label/DOROOT): request=4 time=0.5 ms
4096 bytes from . (ext4 /dev/disk/by-label/DOROOT): request=5 time=0.4 ms
--- . (ext4 /dev/disk/by-label/DOROOT) ioping statistics ---
5 requests completed in 4003.0 ms, 2750 iops, 10.7 mb/s
min/avg/max/mdev = 0.3/0.4/0.5/0.1 ms
# ioping . -R
--- . (ext4 /dev/disk/by-label/DOROOT) ioping statistics ---
12960 requests completed in 3000.2 ms, 7920 iops, 30.9 mb/s
min/avg/max/mdev = 0.1/0.1/2.5/0.1 ms

Traceroute and Ping to cachefly

# traceroute cachefly.cachefly.net
traceroute to cachefly.cachefly.net (205.234.175.175), 30 hops max, 60 byte pack
ets
 1  198.211.104.1 (198.211.104.1)  0.382 ms  0.318 ms  0.343 ms
 2  xe-10-3-3-100.edge3.Newark1.Level3.net (4.28.6.69)  1.044 ms  1.041 ms  1.03
2 ms
 3  ae-31-51.ebr1.Newark1.Level3.net (4.69.156.30)  1.542 ms  1.536 ms  1.527 ms
 4  * * *
 5  ae-71-71.csw2.NewYork1.Level3.net (4.69.134.70)  1.464 ms  1.462 ms ae-91-91
.csw4.NewYork1.Level3.net (4.69.134.78)  1.525 ms
 6  ae-2-70.edge4.NewYork1.Level3.net (4.69.155.84)  1.513 ms  1.558 ms ae-4-90.
edge4.NewYork1.Level3.net (4.69.155.210)  1.484 ms
 7  4.68.63.158 (4.68.63.158)  1.633 ms 64.215.195.213 (64.215.195.213)  1.827 m
s 4.68.111.242 (4.68.111.242)  1.740 ms
 8  vip1.G-anycast1.cachefly.net (205.234.175.175)  6.949 ms  7.123 ms  6.918 ms
# ping -c 10 cachefly.cachefly.net
PING cachefly.cachefly.net (205.234.175.175) 56(84) bytes of data.
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=1 ttl=55
time=6.89 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=2 ttl=55
time=6.79 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=3 ttl=55
time=7.02 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=4 ttl=55
time=7.24 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=5 ttl=55
time=7.14 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=6 ttl=55
time=6.91 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=7 ttl=55
time=7.15 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=8 ttl=55
time=6.69 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=9 ttl=55
time=7.29 ms
64 bytes from vip1.G-anycast1.cachefly.net (205.234.175.175): icmp_req=10 ttl=55
 time=6.75 ms
--- cachefly.cachefly.net ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 6.694/6.990/7.294/0.226 ms

And this is the OS Template lists :
DO_Template