10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

娄底携手浪潮,打造了智慧城市建设的“娄底样板”

Kubernetes Pod篇:带你轻松玩转Pod

xcbeyond

Kubernetes pod 28天写作 Kubernetes从入门到精通 服务编排

八大案例带你了解图数据库如何洞察数据间关联价值

NebulaGraph

图数据库 图数据库实战

2021年1月国产数据库排行榜:OceanBase重回前三,TDSQL增长趋势最强劲!

墨天轮

数据库

【并发编程的艺术】内存语义分析:volatile、锁与CAS

程序员架构进阶

Java 架构 Java内存模型 28天写作

智能building 之智慧城市

张老蔫

28天写作

甲方日常 90

句子

工作 随笔杂谈 日常

《Java 面经手册》PDF,全书5章29节,417页11.5万字,完稿&发版!

小傅哥

Java 面试 小傅哥 PDF 面经手册

2021分享三面阿里:Java面试核心手册+Java电子书+技术笔记+学习视频

比伯

Java 编程 架构 面试 程序人生

【年度重磅】2020华为云社区年度技术精选合集,700页+免费下载!

华为云开发者联盟

数据库 AI 云原生 物联网 华为云

【图文并茂,点赞收藏哦!】重学巩固你的Vuejs知识体系

我是哪吒

程序员 面试 Vue 大前端 Web

转角遇上Volcano,看HPC如何应用在气象行业

华为云开发者联盟

容器 云原生 HPC Volcano 批量计算

区块链养成宠物游戏开发动物世界app系统搭建方案

v16629866266

使用 async_hooks 模块进行请求追踪

智联大前端

node.js 大前端 koa async_hooks

云原生架构下复杂工作负载混合调度的思考与实践

星环科技

云计算

面试官常问的垃圾回收器,这次全搞懂

Silently9527

Java JVM 垃圾回收 GC

计算机网络学习第一课

落曦

开发的必杀技:Git 的分支管理

华为云开发者联盟

git Linux 分支

趋势预测:2021年五大流行的编程语言

禅道项目管理

Java php python 爬虫 趋势

Elasticsearch和Kibana变更开源许可协议;Facebook利用AI增强为视障人士描述照片能力

京东科技开发者

云计算

不可忽视的PHP数据精度损失问题

架构精进之路

php 七日更 28天写作

毫不留情地揭开负载均衡的真面目~

田维常

负载均衡

Android Styling System

Changing Lin

android

30+岁、没转管理、加不动班,我的竞争力从哪里来?

博文视点Broadview

红帽架构师:为什么KubeEdge是2020年我最喜欢的开源项目?

华为云原生团队

开源 云原生 边缘计算 边缘技术

第二周作业

Geek_6a8931

并发条件队列之Condition 精讲

伯阳

AQS 多线程 lock Condition 条件队列

架构师训练营-大作业:物流系统架构设计

晴空万里

架构师训练营第2期

从定义到AST及其遍历方式,一文带你搞懂Antlr4

华为云开发者联盟

Java AST 语言 antlr4 语法分析器

屏幕共享功能的应用

anyRTC开发者

android 音视频 WebRTC 在线教育 视频会议

数据库覆盖式数据导入方法:部分和完全

华为云开发者联盟

数据库 sql 数据 DWS 覆盖式导入

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