Monday, July 30, 2012

OVH Free Dedicated Server Benchmarking

Beta server a power beast with shortcomings

OVH is a hosting company out of Europe making it's entry into the American market. As part of their (brilliant) buzz marketing strategy they are giving away 10,000 free servers. They do limit the number they give away per day so do hurry and visit http://www.ovh.com/ca/en/ to get yours; a twitter account is required

Once I entered a code Twitted to me the server was up an running within half hour; at first glance it is a power horse:

  • CPU: Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
  • Memory: 16 GB DDR3
  • Hard disk 2x 1 TB - SATA2

However my basic benchmarking for IO resulted in 1.9 MB/s copy speed, now that is very sub part performance compared 60+MB/s I am getting out of my Linode VPS and is border line unusable.

Network speed test with wget downloading a Debian ISO wasn't too impressive either, it averaged 1.75M/s (it did have nice high speed spikes), whereas my Linode VPS averaged 4.52M/s for the same file at the same time.

One must keep in mind this is a beta test and I would assume things to improve - or perhaps things are crippled to curtail abuse, either way I look forward to playing with this free dedi server and testing it more.

Benchmarking Log

login as: root
root@198.245.60.39's password:
Linux ns4000035.ip-198-245-60.net 3.2.13-grsec-xxxx-grs-ipv6-64 #1 SMP Thu Mar 2                                                                                                                                                             9 09:48:59 UTC 2012 x86_64 GNU/Linux

server    : 217000
ip        : 198.245.60.39
hostname  : ns4000035.ip-198-245-60.net

Last login: Mon Jul 30 11:53:34 2012 from s72-38-184-18.static.comm.cgocable.net
root@ns4000035:~# cat /proc/meminfo
MemTotal:       16335912 kB
MemFree:        16056976 kB
Buffers:            3412 kB
Cached:            28068 kB
SwapCached:            0 kB
Active:            49324 kB
Inactive:          17552 kB
Active(anon):      35412 kB
Inactive(anon):      160 kB
Active(file):      13912 kB
Inactive(file):    17392 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1051064 kB
SwapFree:        1051064 kB
Dirty:                56 kB
Writeback:             0 kB
AnonPages:         35236 kB
Mapped:             6272 kB
Shmem:               180 kB
Slab:              22992 kB
SReclaimable:       8092 kB
SUnreclaim:        14900 kB
KernelStack:         952 kB
PageTables:         1596 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     9219020 kB
Committed_AS:     170460 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      112620 kB
VmallocChunk:   34359623668 kB
DirectMap4k:        2048 kB
DirectMap2M:    16691200 kB
root@ns4000035:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
stepping        : 7
microcode       : 0x1a
cpu MHz         : 3400.000
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov                                                                                                                                                              pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm c                                                                                                                                                             onstant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf                                                                                                                                                              pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_                                                                                                                                                             1 sse4_2 popcnt tsc_deadline_timer xsave avx lahf_lm arat epb xsaveopt pln pts d                                                                                                                                                             ts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 6784.23
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
stepping        : 7
microcode       : 0x1a
cpu MHz         : 3400.000
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov                                                                                                                                                              pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm c                                                                                                                                                             onstant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf                                                                                                                                                              pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_                                                                                                                                                             1 sse4_2 popcnt tsc_deadline_timer xsave avx lahf_lm arat epb xsaveopt pln pts d                                                                                                                                                             ts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 6784.53
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
stepping        : 7
microcode       : 0x1a
cpu MHz         : 3400.000
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov                                                                                                                                                              pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm c                                                                                                                                                             onstant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf                                                                                                                                                              pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_                                                                                                                                                             1 sse4_2 popcnt tsc_deadline_timer xsave avx lahf_lm arat epb xsaveopt pln pts d                                                                                                                                                             ts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 6784.54
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
stepping        : 7
microcode       : 0x1a
cpu MHz         : 3400.000
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov                                                                                                                                                              pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm c                                                                                                                                                             onstant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf                                                                                                                                                              pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_                                                                                                                                                             1 sse4_2 popcnt tsc_deadline_timer xsave avx lahf_lm arat epb xsaveopt pln pts d                                                                                                                                                             ts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 6784.53
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

root@ns4000035:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md1               10G  676M  8.9G   7% /
tmpfs                 7.8G     0  7.8G   0% /lib/init/rw
udev                   10M  172K  9.9M   2% /dev
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/md2              921G  7.0G  868G   1% /home
root@ns4000035:~# dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 103.268 s, 1.9 MB/s
root@ns4000035:~# wget http://cdimage.debian.org/debian-cd/6.0.5/amd64/iso-cd/debian-6.0.5-amd64-CD-1.iso
--2012-07-30 12:13:10--  http://cdimage.debian.org/debian-cd/6.0.5/amd64/iso-cd/debian-6.0.5-amd64-CD-1.iso
Resolving cdimage.debian.org... 2001:6b0:e:2018::138, 2001:6b0:e:2018::163, 130.239.18.163, ...
Connecting to cdimage.debian.org|2001:6b0:e:2018::138|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://napoleon.acc.umu.se/debian-cd/6.0.5/amd64/iso-cd/debian-6.0.5-amd64-CD-1.iso [following]
--2012-07-30 12:13:11--  http://napoleon.acc.umu.se/debian-cd/6.0.5/amd64/iso-cd/debian-6.0.5-amd64-CD-1.iso
Resolving napoleon.acc.umu.se... 2001:6b0:e:2018::173, 130.239.18.173
Connecting to napoleon.acc.umu.se|2001:6b0:e:2018::173|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 677380096 (646M) [application/octet-stream]
Saving to: `debian-6.0.5-amd64-CD-1.iso'

100%[===================================================================================================================================================================================================>] 677,380,096 1.75M/s   in 2m 35s

2012-07-30 12:15:47 (4.17 MB/s) - `debian-6.0.5-amd64-CD-1.iso' saved [677380096/677380096]

Sunday, July 29, 2012

Linode is Truly a Great Hosting Company

Migrated to new cluster no questions asked; got performance boost!

I have been using Linode as a hosting provider since July, 2010 after I outgrew WebFaction's shared plans. Overall I have been extremely happy with the service, reliability and support, so happy in fact I have prepaid for over a year.

Lately however I have been reaching my memory limit and hitting the swap space; running for fun a Minecraft server will do that.

It quickly became apparent that any disk IO would bring the sites served from that VPS to a crawl. Doing some IO benchmarking tests revealed a worrisome statistic:

root@)root@shared-hosting-1~>$  dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 26.3025 s, 7.7 MB/s
rm: remove regular file `test'? y

That is correct, lously 7.7MB/s copy test. Having access to Linode and burst.net servers I run the same VPS benchmark on them with following results:

Linode VPS #1

root@klisrv01~>$  dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 3.15058 s, 63.9 MB/s
rm: remove regular file `test'? y

Linode VPS #2

root@klisrv02:~>$  dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 13.6833 s, 14.7 MB/s
rm: remove regular file `test'? y
root@klisrv02:~>$

Linode VPS #3

root@klisrv03/>$  dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 13.4197 s, 15.0 MB/s

Burst.net VPS #4

root@klisrv04:~>$ dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 3.72182 s, 54.1 MB/s

Burst.net VPS #5

root@269622:~>$ dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 4.51529 s, 44.6 MB/s
rm: remove regular file `test'? y

I forwarded the above along with a polite support ticket asking to be moved and with no objection was offered a migration to a new cluster. The migration itself was super easy - just press the big notice button - and resulted only in about 30 minutes of downtime.

Post migration results

The moment of truth we have been all waiting for, ... running the above benchmark command results in:

root@shared-hosting-1:~# dd if=/dev/zero of=test bs=64k count=3k oflag=dsync && rm test
3072+0 records in
3072+0 records out
201326592 bytes (201 MB) copied, 2.41932 s, 83.2 MB/s
root@shared-hosting-1:~#

Just freaken gorgeous! Absolutely monumental, increase works out to be over 10 times more than before migration.

Final thoughts

If awesome service is important to you do give Linode a try, I am always tempted to go dedicated server or find a cheaper VPS - but what I would be saving in costs or getting in extra hardware specs I would be trading for excellent support and reliability, and that in my books is not worth doing a switch for.

The reason I have access to two burst.net servers is that we gave them a try as a cheaper alternative a while back and decided against: burst memory = bad and hardware stability issues.

Do you use my referral code: 7d884fa5262b62b8735502da003fee34061db49b so that I do get a small kick back for a sign up.

Wednesday, July 4, 2012

Disable Ctrl+Space Opera Keyboard Shortcut

How to disable the the "Go Home" keyboard shortcut in Opera

This is the most anoying Opera browser shortcut as whenever typing I have more then once accidently lost my work due to this "Go Home" shortcut. The previous button will only work if the form is initialy empty but if you are updating a post, or a comment it restores that and so you loose your work, hence most counter productive keyboard shortcut.

Disable this productivy killer by doing the following steps:

  • Click 'Opera button' on goto to 'Settings' > 'Preferences'
  • Go the 'Advanced' tab
  • Select 'Shortcuts' at the bottom of list on the left
  • Select 'Edit' next to the 'Keyboard setup' list
  • In the search window type 'space ctrl'
  • Press 'Delete'
  • Press 'Ok'
  • Add me to your G+ "Cool" Circle

Disable "Back" - backspace keyboard shortcut

Don't even get me started on this one - symptom Opera has focus but you think you are in Putty and press Backspace and loose the latest blog you were writing - I will leave you Opera one day!

  • Click 'Opera button' on goto to 'Settings' > 'Preferences'
  • Go the 'Advanced' tab
  • Select 'Shortcuts' at the bottom of list on the left
  • Select 'Edit' next to the 'Keyboard setup' list
  • In the search window type 'backspace'
  • Locate 'Platform Windows-Unix-MCE, Backspace'
  • Press 'Delete'
  • Press 'Ok'
  • Add me to your G+ "Cool" Circle

Monday, July 2, 2012

Google rel="author" and rel="publisher" Conflicts

How to fix rel="author" tag image that is no longer appearing.

Today I noticed that Google stopped showing my head shot next to the Kingston Web Design search result; having this is crucial as it does increase click through rate for obvious reasons we do not need to go into. My authorship has been working and headshot was appearing in search results since mid April of this year.

After lengthy debugging with Google’s Rich Snippets Testing Tool I was able to determine that rel="publisher" and rel="me" now seem to conflict with each other when on the same page; a verified rel="publisher" link makes the rel="author" link fail verification.

Surprisingly and unexpectedly having a plain link to your Google+ brand page prevents your head shot from appearing - the author profile is being reported as verified yet the profile image is no longer displayed. One must completely remove any links to a Google+ Brand Page for the head shot to funciton.

Until Google starts displaying G+ brand page profile images or fixes the above issues I have pulled Danols Web Engineering G+ link from the home.

Is Google getting ready to extend the rel="publisher" functionlaity?

My spider senses are tingling and I am going to say a definite "yes". It is only logical that rel=publisher and Google+ brand pages would function similar to author pages. The positive effect of a head shot next to a search result on the click through rate is significant and there are over 1M Google+ brand pages waiting to benefit from it.

Another peculiar thing that I have noticed upon that supports the above is that if one crates a rel="publisher" that links to a personal G+ page it acts as a rel="author", that is the Rich Snippet Testing tool shows the author’s head shot; it seems rel="publisher" has precedence over rel="author".

I do look forward to Google displaying Danols Web Engineering logo rather then my own face, and I hope it will be sooner than later.