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

使用docker模拟并发访问服务器

2015-09-17 11:57 573 查看
近期在测试新功能主管要求每位员工主机安装软件来提供环境测试并发,要求是200台,但部门也才60多个人,加上虚拟机勉强够用,但是相当麻烦。出于这样的考虑我想利用docker来优化测试流程。

一台标准的服务器装vmware也只能部署几十台主机,而且占用空间非常大,非常耗时间。但是一台标准的服务却能在短时间内部署成千上万个docker,每个docker又能在几秒内启动,而且还可以限制docker对资源的使用,并且每个镜像拥有一个软件运行所依赖的所有条件,因此docker是一个不错的选择来模拟软件的并发访问。

每个docker是进程级别的隔离,相互之间不产生影响,最新发布的版本拥有libchan组件,支持docker与外界进行标准的网络通信。最近微软也透露了和docker合作的细节,以及windows server容器的一些细节,相信不久的将来在ubuntu里面跑一个windows images成为可能,这样一来docker的生态将更加完善。

我的做法是将一个ubuntu镜像运行起来,然后装上公司的客户端,服务运行正常后再将镜像重新发布。利用docker的集群部署工具创建指定数量的容器并运行起来。

该方案有点缺陷的地方在于网络将是一个瓶颈,会影响测试的真实数据,毕竟所有客户端共享标准服务器的网络资源,形成一个竟态关系。和一些模拟并发访问的工具的最大区别在于,这样的方案是进程隔离的,并有独立的命名空间。但是并发模拟工具内部是高度耦合的,牵涉到线程安全的问题,所以只能测试服务器端的响应,而不能测试客户端的效果。

需要优化的地方是所有流程都是手动操作,如果将方案做成自动化,all in one web的一站式管理,相信会解放测试人员的生产力
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: