Kronometrix Analytics Appliance: Xen vs ESXi

Latest Update: Tue May  5 15:54:10 EEST 2015

We heavily use Redis as part of our Kronometrix analytics software. For those which do not know what Redis is, see here.

Recently we have upgraded our kernel from Redis 2.8.x branch to 3.x, latest release. And we were curious to see what sort of improvements and how latest Redis release works for our application in regard with ESXi and Xen. As already said, Kronometrix Appliance can works as a:
  • physical appliance, operating system + analytics software on bare metal
  • virtual appliance, running as one or many virtual machines within Xen or ESXi
We are planning to check the redis-server proces utilization, extract a stack trace for the redis-server on both hypervisors.

Xen

Kronometrix 1.0.0 on Xen

Generic X86_64 Server
Ubuntu Server 12.04.5 LTS, Xen 4.2.2 amd64
1 x Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz
Hyperthreading: Available, ON
24 GB RAM
1 TB internal storage for dom0, 2TB NAS for domU




We have configured dom0 to boot and have 2 assigned vCPUs and 6 GB RAM:  GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=6500M dom0_max_vcpus=2 dom0_vcpus_pin"


Kronometrix Kernel Build 97, Redis 3.0.1, 450 DS

We are testing Kronometrix Kernel against 450 data sources, a data source here means a computer system like Linux, or FreeBSD running as virtual machine, sending 5 data messages per host, every minute, running on Xen.

CPU Utilization:
Xen redis-server process, 18% CPU usage



ESXi

Kronometrix 1.0.0 on ESXi

Dell PowerEdge 2950
ESXi 5.5.0 Update 2
1 x Intel(R) Xeon Core(TM) E5430 @ 2.66GHz
Hyperthreading: Not Available, OFF
20 GB RAM, 2 x 1 TB internal storage RAID 1 via Dell PERC 6/i (LSI)


We have configured the 2 x internal disks as RAID 1 mirror where we have installed the ESXi hypervisor and have the datastorage for VMs.


Kronometrix Kernel Build 97, Redis 3.0.1, 450 DS

We are testing Kronometrix Kernel against 450 data sources, a data source here means a computer system like Linux, or FreeBSD running as virtual machine, sending 5 data messages per host, every minute, running on ESXi.

CPU Utilization:
ESXi, redis-server process 70% CPU usage


Appeendix

1. DTrace 60seconds, stack trace dump:

dtrace -x ustackframes=100 -n 'profile-997 /pid == 3263/ { @[ustack()] = count(); } tick-60s { exit(0); }' -o stacks

    

Comments

Popular posts from this blog

Asus Zenbook and FreeBSD 11

Raspberry Pi and Redis

Web Performance, tell me the story