写点什么

Docker 容器在 VMware VSphere 中性能测试

  • 2014-10-31
  • 本文字数:1220 字

    阅读完需:约 4 分钟

2014 年 8 月份召开的 VMworld 2014 会议上,VMware宣布将于Docker 等合作共同建立一个项目来研究如何在VMware 虚拟技术上使用Docker,使得Docker 的发展步入一个新的高峰。

然而就在不久之前,IBM 刊文质疑了在虚拟机上运行容器的实践方法。如果是这样,VMware 公司为什么要做出支持Docker 容器这么大胆的举措呢?

事实是,VMware 公司进行了与之前报道类似的实验。实验结果说明,虚拟机环境下运行Docker 容器,其性能损失是完全可以接受的,有力的反驳了之前的言论。根据VMware 公司所公布的在vSphere 虚拟机和直接在服务器中运行Docker 容器的结果,可以看出:对于绝大部分的微测试集和Redis 测试,vSphere 表现出近乎和真实机器同样的性能,而且平均额外开销小于5%;最重要的是,在vSphere 虚拟机的Docker 容器中运行应用程序的额外开销和在真实服务器上的操作系统上运行容器的额外开销基本相等。

VMware 公司的实验中,所采用的实验平台、测试集信息以及最终实验结果的详细信息如下。实验平台包括了真实机器(直接运行 Ubuntu 和 CentOS 的 Linux 操作系统)、vSphere 虚拟机(在与真实机器同样条件的操作系统中运行即将发布的 vSphere)以及运行 Docker 的真实机器和虚拟机等 4 中情况。实验中采用包括 LINPACK 等 4 个微测试集以及 Redis 等真实负载。

针对各个测试集的性能结果如下:

  • LINPACK。对于 45K 的问题大小,虚拟化的额外开销基本可以忽略。对于更大的问题,由于内置页表的问题,硬件虚拟化会不可避免的引入相应的额外开销。但是,在虚拟机的 Docker 容器中运行应用程序和直接在虚拟机中运行并不会引入额外的开销。
  • STREAM。针对所有的操作,虚拟机会引入大约 2-3% 的额外开销。在真实机器上运行的 Docker 容器所带来的 1-2% 的额外开销可能处于噪声边缘,基本可以忽略。
  • FIO。对于随机读操作,虚拟机中的最大可接收 IOPS 相比于真实机器要小 2% 左右。但是,二者的随机写操作性能基本相同。总的来讲,Docker 容器不会对随机读和随机写造成明显的性能损失。
  • Netperf。对于所有的实验平台,网络的吞吐量是相同的。在延迟测试方面,使用桥接 NAT 功能时,Docker 容器会引入 9-10 微秒的额外延迟;如果直接使用宿主机网络,Docker 容器基本上不会引入额外的延迟时间。
  • Redis。在虚拟机上运行 Redis 会比真实操作系统中运行性能稍有下降。但是,使用宿主机网络运行 Docker 容器时,无论 Docker 运行在真实机器还是虚拟机中,实验性能都跟直接运行在真实机器中基本相同。

基于以上的实验结果,VMware 公司指出虚拟化会只会引入大约 2% 到 4% 的性能损失。在 Docker 容器中运行像 Redis 这样的应用程序,其性能是完全可以接受的,而其在安全、管理等方面的优势使得 Docker 容器成为虚拟化方面的推荐选择。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-31 08:014993
用户头像

发布了 268 篇内容, 共 123.2 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

英特尔以四大超级技术力量,助力数字未来,发布多项进展

科技新消息

直播预告 | PolarDB-X 动手实践系列——PolarDB-X Replica原理和使用

阿里云数据库开源

数据库 阿里云 开源 PolarDB-X

美哭了,一款开发者必备的接口管理工具!

Liam

Postman 开发工具 API API接口管理 接口管理工具

墨天轮访谈 | OceanBase 白超:海量数据管理,为什么选择OceanBase?

墨天轮

数据库 oceanbase 国产数据库

Spring Security

Zhang

Java spring security

Hugging Face创始人亲述:一个GitHub史上增长最快的AI项目

OneFlow

人工智能 深度学习 nlp 开源社区

等保三级全称是什么?是什么意思?

行云管家

网络安全 等级保护 等保三级 等保2.0

windows服务器是什么?运维管理用什么工具好?

行云管家

windows 服务器 自动化运维 服务器运维

netty系列之:我有一个可扩展的Enum你要不要看一下?

程序那些事

Java Netty 程序那些事 5月月更

硬件为矛 软件为盾 英特尔分享数据中心GPU的攻守之道

科技新消息

echarts饼图指示器文字颜色设置不同

空城机

eCharts 5月月更

企业文档爆炸,如何管?

小炮

企业文档管理工具

无聊科技正经事周刊(第6期):纯粹的程序员与必然的中年危机

潘大壮

程序员 周刊 行业趋势 科技周刊

数据标准在网易的实践

网易数帆

大数据 数据仓库 数据治理 元数据 数据标准

FinClip+微幕小程序,助力企业全端公私域流量互通

Speedoooo

小程序 WordPress 移动开发 小程序容器

英特尔公布数据中心和人工智能领域重大进展,全方位展示强劲领导力

科技新消息

有趣、实用、全面,是程序员心中理想人工智能教材的样子了

图灵教育

深度学习 PyTorch

Spring Authorization Server 实现授权中心

Zhang

Java OAuth 2.1 Spring Security OAuth

谁说 Zadig 只能复制环境?数百微服务一套环境实现高效协作

Zadig

DevOps 云原生 CI/CD 软件交付

我国类脑计算处于什么水平?人工智能下神经科学启发的类脑计算。

GPU算力

人工智能 液冷服务器 类脑计算 神经科学

如何开发 LAXCUS 分布式应用软件(三):编写终端软件

LAXCUS分布式操作系统

集群架构 并行计算 端边云 分布式操作系统 分布式应用软件

蝉联第一!金蝶夺取Gartner中国高生产力aPaaS市场冠军!

金蝶云·苍穹

AIRIOT物联网低代码平台如何配置MQTT驱动?

AIRIOT

物联网 低代码平台 驱动配置

Go1.18泛型浅谈

CodeWithBuff

golang 泛型 新特性 Go 语言

揭秘英特尔未来IPU路线图,开启数据中心“进化之旅”

科技新消息

GPU分类和应用现状分析

Finovy Cloud

人工智能 云计算 gpu GPU服务器

在字节跳动,一个更好的企业级SparkSQL Server这么做

字节跳动数据平台

Apache DolphinScheduler 2.X保姆级源码解析,中国移动工程师揭秘服务调度启动全流程

白鲸开源

Apache 大数据 开源 DolphinScheduler workflow

String源码解析-String的使用注意2

zarmnosaj

5月月更

基于 Agora SDK 实现 Windows 端的一对一视频通话(基于3.6.2版本)

声网

人工智能 音视频 sdk

如何清除 WordPress 中的缓存

海拥(haiyong.site)

WordPress 5月月更

Docker容器在VMware VSphere中性能测试_语言 & 开发_张天雷_InfoQ精选文章