ESXi 虚拟机性能情况简单验证

摘要:
搜索信息后发现,在ESXi 5.5中,可以从具有物理CPU的内核虚拟化25个vCPU,而在升级到ESXi 6.0后,可以虚拟化32个vCPU。因此,虚拟化过度严重,这将降低性能。此前,我发现一个网站可以简单地获得一些CPU分数,也可以通过CPU-Z进行简单验证,但通常没有意义。

1.虚拟化的CPU超售问题。

经过查找资料, 发现 ESXi 5.5 的版本 一个 物理CPU得Core 可以虚拟出 25个vCPU, 升级到ESXi6.0 之后可以虚拟化32个vCPU。

所以虚拟化的超售特别严重, 会降低性能。 

理论上最极端的情况 只有普通CPU的 十分之一左右的性能。 

比如功能测试这边的一个 2路10核 20个CPU的服务器  一共虚拟化出来 140个vCPU

理论上在大家都争用CPU的情况下, 只能获取 CPU七分之一左右的性能。 

2. CPU的性能的影响因素。

CPU的性能不仅仅涉及CPU的主频和型号, 很大的方面涉及到 IPC 的概念 需要考虑如下内容

寄存器的多少 缓存的大小 缓存的实现机制。

CPU 多发射的个数  流水线长度 乱序执行的能力 预测分析算法的精确度。

CPU 等效的IPC数值。 

之前发现一个网站里面能够简单获取一些CPU的分值 也可以通过CPU-Z 简单进行验证, 但是一般没有实际意义。 

型号                  得分           价格(美元)

4214@2.2GHZ         16,140           $768
5218@2.4GHZ         22,117           $1309
8280@2.7GHZ         37,575           $9949

我这边发现同样负载情况下 4214 上面启动一个gscloud 优化前 需要使用 20min 以上

然后使用 5218 的CPU 大概可以在 15min 左右启动起来 与得分的分值基本上符合。 

3. 关于raid卡缓存与虚拟机快照的影响

见到那发现在raid看开缓存的情况下 性能非常爆表

使用 CrystalDiskmark 时  仅使用1G文件进行验证, 如果是 1G的数据数据文件进行验证。 性能为:

顺序读写 5G多的写入  1.5G左右的读取。

已经接近PCI-E 3.0 X8的性能极限了 感觉。 

如果是 使用很长时间, 并且有十几个快照的环境

顺序读写  只有 200m的写入, 450m的的读取

说明开着缓存机器的性能非常好, 但是快照的存在以及长时间的运行会严重降低虚拟机的性能。 

但是需要注意的一点是 这个数据是周天我进行验证的 当时几乎没有人使用. 

如果是周一大家都在用的环境效果如下:

说明一点 我的机器都是thin provision 设置的 可能IO性能有一定影响. 

新机器没快照

ESXi 虚拟机性能情况简单验证第1张

旧就机器有十几个快照

ESXi 虚拟机性能情况简单验证第2张

如果使用16G文件的读写, 可以直接看图了。

没有快照 并且是新创建的机器:

ESXi 虚拟机性能情况简单验证第3张

有快照 并且是运行两三年的机器

ESXi 虚拟机性能情况简单验证第4张

说明 快照的存在会严重降低性能。 

当然也有存在不太准确的情况。 

 4. 更新补丁时垃圾文件和垃圾表的影响

更新GS7的补丁时主要是两部分的性能,

一部分是应用端:应用文件备份,以及覆盖和下载部署

二部分是数据库端:sql的更新以及元数据报运行时定制的处理。

这两快的提高速度重要有两个方面。

1. 定期进行磁盘整理, 删除无意义的patchbak内的古老文件夹

注意应用端的文件读写性能。因为patchbak 内的文件经常是很离散的文件。可能有几百万个文件。会造成读写和更新非常缓慢, 建议定期删除。

2. 对数据库定期进行统计信息的更新。

以及定期清理 gspmetaversionhistory 的表内容。 元数据以及运行时定制相关的内容更新之前会往这个表里面插入备份数据, 这个表会变得异常得大 还会出现插入性能降低得情况,建议定期处理。 

处理完这两个地方之后 启动速度 能够提速很多。 

 5. 关于上下文切换 Content Switch 以及时间片 time slice的简单理解.

现代CPU在使用一个CPU core的时候 就可以实现 都用户 多任务的处理, 根本原因是 时分复用, 一秒钟的时间内, 可以分配多个进程进行使用, 人类观感就是可以并行处理了.

但是这样的话 是存在两个问题的. 

1. 来回切换还是有一定的延迟, 有的时候会出现卡顿, 尤其是一个进程如果长时间不用被swap到磁盘上面去之后.

2. 进行切换需要保存是一个进程的现场,将所有的寄存器信息留存, 然后再flush 另一个进程的所有的寄存器相关的信息, 包括不限于 PC以及TLB等. 

所以如果切换的太慢的话, 就会明显的卡顿, 切换的太快的话 CS 的损耗太大会到无法容忍的程度

一般情况下 资料里面说 Linux的默认时间片大概是 20ms ,仪表内可以有 50 次进程切换 (如果单核的话)

多核的情况下会递增, 这里面还有一个nice的概念.  从 -19到20 时间片的大小可以从 5ms 递增到 据说 800ms 

这样的话 专用服务器的性能就会远远好于混合的服务器. 

与之对应的 ESXi 也是使用时间片进行切分 CPU的, 但是这一块不清楚. 如果一个虚拟机没有强负载的情况下 他的CPU 时间片 是不是还是按照他的设置给出 ,如果是的话, 你们重负载的机器的性能就会有降频了

但是根据中病毒的反馈, 发现 高负载的机器能够吃完 vCPU对应的所有的物理CPU的性能. 

6. 关于高IO型和高CPU型性能的理解.

这个主要是有SYS和IDLE的CPU 以及 user和 sys 的用户控件和内核空间的区分.  

免责声明:文章转载自《ESXi 虚拟机性能情况简单验证》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Apache Commons-Codec的使用Mac安装Mysql下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

开发板Ping不通虚拟机和主机

Ubuntu 16.04  win7  笔记本连接学校的无线网 开发板S3c2440与笔记本仅通过COM连接 问题描述: 设置了桥接,主机与虚拟机IP在同一网段后,主机与虚拟机可以Ping,但是开发板无法Ping主机与虚拟机 设置如下 步骤: 1.确定网卡A 2.VMWare选择网卡A作为桥接网卡 3.设置三者IP在同一网段 a.Windows网卡A的IP...

UbuntuServer16中文版安装失败

在虚拟机中安装UbuntuServer16中文版经常失败,提示无法安装busybox-initramfs。安装失败提示如下图: 出现这个问题是Ubuntu中文汉化不全造成的,有两种方式解决这个问题: 方式一: 1、安装时第一步选择语言时,先选择English。 2、下一步后选择Chinese,后面凡是选择语言就选中文。 3、后面其他步骤正常安装即可,这样就...

深入理解“CPU 使用率”

回顾 CPU 使用率是单位时间内 CPU 使用情况的统计,以百分比的方式展示 案例: 最常用什么指标来描述系统的 CPU 性能? 回答 CPU 使用率,而不是平均负载,CPU 上下文切换 CPU 使用率 前言 前面说过,Linux 作为一个多任务操作系统,将每个 CPU 的时间划分为很短的时间片,在通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的...

VMware VMnet8 模式共享主机网络配置静态 IP 和 DNS

一、简介 NAT网络模式: 1. 宿主机可以看做一个路由器,虚拟机通过宿主机的网络来访问  Internet; 2. 可以安装多台虚拟机,组成一个小型局域网,例如:搭建 hadoop 集群、分布式服务。 二、配置 1. VMnet8 设置静态 IP 2. Centos 网络设配器为 NAT 模式 3. VMware 虚拟网络设置 4. 启动虚拟...

CentOS 7系统KVM虚拟机安装过程详解

什么是 KVM ? KVM 在标准的 Linux 内核中增加了虚拟技术,从而我们可以通过优化的内核来使用虚拟技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)。 一个典...

收录 Uboot 详解

--------------------------------------------------------------------------------------------------------  我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。     在PC机上引导程序一般...