ARM下KVM虚拟化的损耗验证--redis

arm,kvm,虚拟化,损耗,验证,redis · 浏览次数 : 184

小编点评

| 指标 | 物理机 | 虚拟机 | |---|---|---| | ping_inline | 38491.14 | 36238.45 | | ping_mbulk | 38722.17 | 35087.72 | | set | 37202.38 | 34317.09 | | get | 38102.50 | 34118.05 | | incr | 37390.17 | 34258.31 | | lpush | 36029.54 | 34013.61 | | rpush | 36238.45 | 33647.38 | | lpop | 34518.46 | 34518.46 | | rpop | 36643.46 | 36643.46 | | sadd | 37181.63 | 37320.39 | | hset | 35868.00 | 35880.88 | | spop | 37320.39 | 37404.15 | | zadd | 35880.88 | 35880.88 | | zpopmin | 37404.15 | 37404.15 | | lpush (LRANGE) | 34193.88 | 34193.88 | | lrange_100 | 21623.96 | 21623.96 | | lrange_300 | 9287.21 | 9287.21 | | lrange_500 | 6595.44 | 6595.44 | | lrange_600 | 5552.16 | 5552.16 |

正文

ARM下KVM虚拟化的损耗验证


摘要

看Windows 上面的 Workstation的虚拟机的 网络层的延迟特别高.
突然想之前统计都是直接在本地验证的, 只考虑了虚拟化CPU的性能损耗
没有考虑虚拟化层网络层的损耗. 

所以想验证完了 Windows 和 intel平台 再抓紧验证一下 
ARM平台的宿主机和KVM下面的虚拟机的redis性能比较

比较结果

测试命令: 
虚拟机, 物理机使用类似的命令
./redis-benchmark -h 10.110.xxx.xxx -p 16379 -a xxxxx  -n 200000 -c 20 -q

测试结果:
出去MSET 虚拟机比物理机性能好之外. 
都是物理机比虚拟机性能好很多.
算数平均值是 95.5%
感觉KVM的损耗还是非常低的. 

image


image


测试原始数据-物理机

PING_INLINE: 38491.14 requests per second, p50=0.455 msec                   
PING_MBULK: 38722.17 requests per second, p50=0.439 msec                   
SET: 37202.38 requests per second, p50=0.479 msec                   
GET: 38102.50 requests per second, p50=0.479 msec                   
INCR: 37390.17 requests per second, p50=0.487 msec                   
LPUSH: 36029.54 requests per second, p50=0.503 msec                   
RPUSH: 36238.45 requests per second, p50=0.503 msec                   
LPOP: 35951.82 requests per second, p50=0.503 msec                   
RPOP: 37481.26 requests per second, p50=0.479 msec                   
SADD: 37914.69 requests per second, p50=0.479 msec                   
HSET: 37030.18 requests per second, p50=0.487 msec                   
SPOP: 39154.27 requests per second, p50=0.463 msec                   
ZADD: 36563.07 requests per second, p50=0.495 msec                   
ZPOPMIN: 38774.72 requests per second, p50=0.463 msec                   
LPUSH (needed to benchmark LRANGE): 36663.61 requests per second, p50=0.495 msec                   
LRANGE_100 (first 100 elements): 25503.70 requests per second, p50=0.575 msec                   
LRANGE_300 (first 300 elements): 10288.07 requests per second, p50=1.023 msec                   
LRANGE_500 (first 500 elements): 6923.77 requests per second, p50=1.455 msec                  
LRANGE_600 (first 600 elements): 5886.16 requests per second, p50=1.711 msec                  
MSET (10 keys): 30816.64 requests per second, p50=0.591 msec  

测试原始数据-虚拟机

PING_INLINE: 36238.45 requests per second, p50=0.439 msec                   
PING_MBULK: 35087.72 requests per second, p50=0.463 msec                   
SET: 34317.09 requests per second, p50=0.479 msec                   
GET: 34118.05 requests per second, p50=0.479 msec                   
INCR: 34258.31 requests per second, p50=0.471 msec                   
LPUSH: 34013.61 requests per second, p50=0.487 msec                   
RPUSH: 33647.38 requests per second, p50=0.479 msec                   
LPOP: 34518.46 requests per second, p50=0.479 msec                   
RPOP: 36643.46 requests per second, p50=0.479 msec                   
SADD: 37181.63 requests per second, p50=0.471 msec                   
HSET: 35868.00 requests per second, p50=0.487 msec                   
SPOP: 37320.39 requests per second, p50=0.471 msec                   
ZADD: 35880.88 requests per second, p50=0.487 msec                   
ZPOPMIN: 37404.15 requests per second, p50=0.471 msec                   
LPUSH (needed to benchmark LRANGE): 34193.88 requests per second, p50=0.495 msec                   
LRANGE_100 (first 100 elements): 21623.96 requests per second, p50=0.591 msec                   
LRANGE_300 (first 300 elements): 9287.21 requests per second, p50=1.159 msec                  
LRANGE_500 (first 500 elements): 6595.44 requests per second, p50=1.567 msec                  
LRANGE_600 (first 600 elements): 5552.16 requests per second, p50=1.831 msec                  
MSET (10 keys): 39611.80 requests per second, p50=0.415 msec

与ARM下KVM虚拟化的损耗验证--redis相似的内容:

ARM下KVM虚拟化的损耗验证--redis

# ARM下KVM虚拟化的损耗验证 ## 摘要 ``` 看Windows 上面的 Workstation的虚拟机的 网络层的延迟特别高. 突然想之前统计都是直接在本地验证的, 只考虑了虚拟化CPU的性能损耗 没有考虑虚拟化层网络层的损耗. 所以想验证完了 Windows 和 intel平台 再抓紧验

[转帖]arm linux下编译xtrabackup-2.4.5

环境:aarch64/centos7.6 glibc-2.17 编译器:gcc version 5.5.0 (GCC) 官方参考文档:https://www.percona.com/doc/percona-xtrabackup/2.4/installation/compiling_xtrabacku

一文搞懂 ARM 64 系列: 一文搞懂 ARM 64 系列: 函数调用传参与返回值

函数调用涉及到传参与返回值,下面就来看下ARM 64中,参数与返回值的传递机制。 1 整数型参数传递 这里的整数型并不单指int类型,或者NSInteger类型,而是指任何能够使用整数表示的数据类型,包括char、BOOL、指针等。 对于整数型参数,需要分成参数个数<=8个和>8个两种情形来看。 如

Linux 环境下制作 deb 软件包

一、简介 前面的笔记中已经展示过了,怎么移植的一个工具境到 ARM 环境中,对于使用 buildroot 和 yocto 的朋友来说,此笔记就没有作用了,因为管理工具包会帮我们把这个工作处理了,就算需要自定义包操作方式也不一样,可以参考上一篇笔记。 而对于 ubuntu 这样的操作系统,虽然可以使用

TCP内核参数与Nginx配置的简单测试

背景 昨天晚上整理了下几个TCP内核的参数. 学习到了一点内核参数的影响. 但是因为时间比较晚了没有继续钻研与nginx的关系 今天想着继续研究一下TCP的部分参数与nginx的关系 每个系统都不一样. 结果可能跟内核版本和内核参数强相关. 我这里用的是基于ARM的银河麒麟 还有基于x86的Open

一文搞懂 ARM 64 系列: 寄存器

ARM 64中包含多种寄存器,下面介绍一些常见的寄存器。 1 通用寄存器 ARM 64包含31个64bit寄存器,记为X0~X30。 每一个通用寄存器,它的低32bit都可以被访问,记为W0~W30。 在这31个通用寄存器中,有2个寄存器比较特殊。 X29寄存器被作为栈帧寄存器,也被称为FP(Fra

一文搞懂 ARM 64 系列: ADC

1 指令语法 adc , , 2 指令语义 adc就是带「进位」加法,指令中的c就是英文carry。 整个指令等价于: (Xd, _) = Xn + Xm + PSTATE.C 也就是将寄存器Xn,寄存器Xm,PSTATE中的「进位」标志相加,将相加的结果写入寄存器Xd,但

【Android 逆向】【ARM汇编】 堆栈

arm 四种栈 1 空栈 栈指针指向空位,每次存入时可以直接存入然后栈指针移动一格;而取出时需要先移动一格才能取出 2 满栈 栈指针指向栈中最后一格数据。每次存入时需要先移动栈指针一格再存入。取出时可以直接取出,然后再移动栈指针 3 增栈 栈指针移动时向地址增加的方向移动的栈 4 减栈 栈指针移动时

[转帖]SPECjvm测试工具详解

ARM服务器测试大纲中指定了要使用specjvm测试Java虚拟机性能,所以就上网找开源的测试套。 简介 SPECjvm2008(java虚拟机基准测试)是用来测试java运行环境(JRE)性能的基准测试套件,其中包含几个核心的JAVA功能实现的基准测试程序。该测试套测试了处理器和内存子系统的性能,

[转帖][译]ARM大小核架构白皮书

https://zhuanlan.zhihu.com/p/33411449 ARM big.LITTLE Processing with ARM Cortex-A15 & Cortex-A7 --Improving Energy Efficiency in High-Performance Mobi