在docker中使用负载testing应用程序

我有这个简单的节点socker seerver,如下所示:

var ws = require("nodejs-websocket") var connectionCount = 0; console.info("Node websocket started @ 8002"); var server = ws.createServer(function (conn) {; console.log("New connection", ++connectionCount); conn.on("close", function (code, reason) { console.log("Connection closed") }); }).listen(8002); 

现在我想从机器上打这个服务器。 所以为了模仿这些机器,我使用了docker。 我想创build大约10个不同的docker集装箱,这将打击我的服务器。

我想通过使用名为thor( https://github.com/observing/thor )的负载testing工具从此Docker容器中访问服务器,该工具可以像运行

 thor --amount 1000 --messages 100 ws://localhost:8002 

所以我想创build10个不同的docker容器,每个容器应该使用这个叫做thor的工具,并打我的服务器

 thor --amount 1000 --messages 100 ws://localhost:8002 

我怎样才能实现这样的dockor容器。

PS:我是新手。

我相信这应该是可能的。

docker集线器中有可用的图像,用于不同大小的节点。 select合适的图像。

这里是伪指令来创build您需要的图像。

  • 获取节点图像
  • 从git安装thor(你已经有了这个细节)
  • 用你的命令运行容器(希望你的websocket应用程序可能已经在运行)

你可以通过两种方式做手动或者使用Dockerfile

我相信你想在多个容器中运行, Dockerfile将是不错的select。

如果你可以使用docker-compose ,由于多个容器,它会更好的方法。

希望这是有帮助的。