您的位置:首页 > 运维架构 > Docker

对延时敏感的应用是否应该使用Docker?

2015-12-23 09:35 726 查看
在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的?,推荐看看!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: