在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
,由于多个容器,它会更好的方法。
希望这是有帮助的。