对延时敏感的应用是否应该使用Docker?
在High Scalability上看到一篇文章 How Does The Use of Docker Effect Latency? 。文章回答了一个问题
I keep hearing about [Docker] as if it is the greatest thing since sliced bread, but I’ve heard anecdotal evidence that low latency apps take a hit.
Gill的回答。Docker基于Linux Container执行在宿主机上,从CPU和Memory的角度。因为Docker并没有独立的一层做虚拟化,性能影响能够忽略不计;从I/O(Disk/Networking)的角度,不同的选择。有可能带来较大的性能影响
IBM有个測试报告:An Updated Performance Comparision of Virtual Machines and Linux Containers ,作者系统的对照測试了Docker、KVM和Native方式下性能区别,结论和Gill的回答一致:在CPU和Memory方面。Docker开销极小;在I/O方面,影响明显。须要做调整才干减少影响。
比較典型的:
当使用AUFS(Advanced Multi Layered Unification Filesystem)时,Docker性能减少明显;使用Volume能够获得更好的性能。
使用Docker的默认网络选型–net=bridge时。网络吞吐大时,开销明显,能够通过–net=host减少性能影响,但同一时候会带来一些问题
个人建议:
公司假设对Docker有非常多的应用经验,而且有强大的基础架构/运维团队Support,能够将Low Latency APP上到Docker
腾讯有个非常好的分享:腾讯游戏是怎样使用Docker的?,推荐看看!
最新文章
- [MetroUI-1]无边框模式
- socket学习笔记——select与epoll函数的使用(linux)
- Sublime 格式化代码 快捷键以及插件使用
- ASP.NET MVC DefaultModelBinder
- web.xml is missing and <;failOnMissingWebXml>; is se
- Java第三次上课课堂试验博文
- JAVA实现接口监控报警系统
- BZOJ 1671: [Usaco2005 Dec]Knights of Ni 骑士 (bfs)
- 13.python错误和异常
- python循环语句详细讲解
- MDX 脚本语句 -- Scope
- golang获取命令行参数
- Ambari安装Hadoop集群
- 使用Ubuntu编译Linux内核
- 取消Eclipse SVN的自动链接方式
- CodeForces 450B Jzzhu and Sequences(矩阵快速幂)题解
- Go structs、slices、maps
- hadoop 的job.setOutputKeyClass和job.setOutputValueClass的几个问题
- python 输入三个整数,按照从小到大的顺序打印
- 打开Android系统安装APK的页面