写点什么

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:015029
用户头像

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

关注

评论

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

宝安机关食堂支持数字人民币刷脸支付

CECBC

北鲲云超算平台如何帮助高性能计算行业提供解决方案

北鲲云

关于飞书的告警通知,这里有个更好的办法

睿象云

运维 告警 运维平台 智能告警

区块链应用:从技术工具到创新思维

CECBC

TCP协议认知篇

邱学喆

TCP协议 拥塞避免算法 慢启动算法 坚持定时器 TCP状图切换

Goroutine & Channel

Vibyird

并发编程 channel CSP Go 语言 goroutine

区块链产业大爆发!未来究竟是谁的机会?

CECBC

最全互联网后端免费技术分享视频资源学习社区

hanaper

springboot+vue+activiti,在线编辑器,快速开发平台

金陵老街

Java Vue 工作流 springboot Activiti

技术实践|网易云信 IM SDK 服务高可用技术方案

网易云信

后端

fil挖矿步骤教程是什么?fil挖矿规则是什么?

fil挖矿步骤教程是什么 fil挖矿规则是什么

计算机网络常用知识总结

Java 架构 后端 网络 计算机

如何基于分布式KV研发一款消息中间件

Java 编程 面试 后端 中间件

WorkPlus高端制造业移动数字化平台解决方案—华晨宝马

BeeWorks

即时通讯 移动办公平台 移动数字化底座 移动数字化基座 企业即时通讯平台

如何从内部保障企业数据安全?用IT运维审计系统可以吗?

行云管家

网络安全 数据安全 堡垒机 IT运维 运维审计

交易所智能炒币机器人开发||量化交易炒币机器人系统搭建

Geek_23f0c3

量化交易机器人系统开发 炒币机器人

kubelet 1.14 升级 kubelet 1.20 容器重启问题

Geek_f24c45

Docker Kubernetes kubelet

区块链“通证”将颠覆“资本”

CECBC

能不能征服初恋,就看这个架构了!!!

人工智能~~~

阿里资深架构师终于把微服务架构与实践第2版PDF分享出来了

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

高可用 | Xenon 实现 MySQL 高可用架构 部署篇

RadonDB

MySQL 数据库 Xenon RadonDB

量化交易炒币机器人系统搭建

量化系统19942438797

机器人 量化交易

ipfs挖矿合法吗?ipfs挖矿靠谱吗?

区块链 IPFS ipfs挖矿 ipfs矿机 filecoin挖矿

小公司实施系统为什么也容易失败?

明道云

阿里巴巴首发:Java核心框架指导手册1小时点击量破千万!

Java 编程 面试 程序人生 Alibaba

图数据库在百度汉语中的应用

百度Geek说

数据库 后端

吐血整理!金九银十必问的1000道Java面试题及答案

Java 编程 程序员 架构 面试

技术分析| 实时音视频通讯中的流媒体是怎样传输的

anyRTC开发者

音视频 WebRTC 流媒体 流媒体传输

打开vscode好像打开了原神?vscode原神背景推荐,比博燃

CodeNongXiaoW

vscode vscode背景 原神

Spring 配置加载

樊江。

Spring Framework

模块一作业

陈家豪

架构实战营

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