容器性能研究与服务推荐新方法
容器性能研究
在云计算环境中,容器技术的应用越来越广泛,不同容器的性能差异以及虚拟化层对容器性能的影响备受关注。
网络延迟分析
通过Netperf测试发现,Docker的网络延迟是LXC的1.25倍,而Docker - Machine更是将每次往返的网络延迟大幅增加到120µs。在本地网络中,传播延迟可忽略不计,处理延迟是网络延迟的主要来源。
- LXC和Docker网络机制 :LXC和Docker都使用网络命名空间在主机和容器之间创建虚拟以太网对,每个网络数据包都要通过桥接网络。但与LXC不同,Docker增加了NAT(网络地址转换)机制来暴露特定网络端口,只有通过端口映射,外部才能正常访问Docker容器中的服务。这一机制增加了网络延迟,也给跨不同主机的服务发现带来困难。而LXC能更轻松地使用Linux的完整功能栈来无限制地管理容器网络。
- Docker - Machine网络机制 :Docker - Machine中的网络数据包要通过virtio创建的虚拟设备从客户操作系统传输到主机操作系统。硬件模拟和NAT机制的结合导致了Docker - Machine严重的网络延迟。
因此,从低延迟的角度来看,对于网络密集型应用,开发者可能更倾向于选择LXC而非Docker。
公共容器服务评估
为了评估公共容器服务的服务质量,我们使用HiBench来测试不同容器平台上Hadoop和Spark这两个典型分布式数据处理系统的性能。选择了四个典型工作负载进行评估:
|工作负载|类型|输入数
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



