WebSocket-bench分布式压测部署

1.首先要把用户自己编写业务压测逻辑generator.js脚本分别放到各压测机上

2.打通各压测机的ssh登录秘钥

这里我请教同事得到一个比较快捷方便的配置方法----

采用centos系统自带的秘钥-------->敲出ssh字符,然后双按tab键,

就会出现我们想要的一些数据。。。。

如图:

然后执行ssh-copy-id   [email protected]地址

会出现一些选项,我们选择yes,及root账号输入密码就可以,

成功后,我们验证一下,我们是否配合秘钥成功  --------------我们这里的控制台是要去链接多台压载机,所以给其它压载机的是公秘钥,控制台是私秘钥

直接敲入ssh  ip地址  查看是否登录成功

3 websocket-bench,控制脚本编写

#!/bin/bash
#disabled selinux
nodes="172.18.10.38
172.18.10.37
172.18.10.36
172.18.10.35
172.18.10.34
172.18.10.33
172.18.10.32
172.18.10.31
172.18.10.30
172.18.10.49"
for node in ${nodes}
do               //---------这里的大括号是让它并行运行命令,如果要串行去掉{}&
{
echo "online ${node} ..."
ssh [email protected]${node} "cd /usr/lib/node_modules/websocket-bench/lib/ && websocket-bench -a 998 -c 2 -k -g generator.js http://172.18.10.10:3380"
}&
done

4 各加载机generator.js脚本

 1 /*global module, require*/
 2 var i =  0;
 3 var m = 1;
 4 var c = 0;
 5 var logger = require(‘./logger‘);
 6 var start = Date.now();
 7 setTimeout(function() {
 8 }, 1000);
 9 module.exports = {
10   onConnect : function (client, done) {
11 // 订阅消息
12         var _m = m;
13        client.emit(‘pusher_test:subscribe‘,{channel:‘private-group-NO‘ + _m, auth:‘callback‘});
14         console.log(m);
15 //  发送消息
16        setInterval(function() {
17         if (i<1000000000){
18          client.emit(‘pusher_test:messgae‘,{channel:‘private-group-NO‘ + _m, msg: ‘我是>第‘ + ++i +‘个消息‘});
19         }}, 1000);
20 //  监听消息
21         client.on(‘private-group-NO‘ + _m, function(content) {
22                 console.log(new Date()+ new Date().getMilliseconds());
23                  console.log(content);
24          });
25         c++;   //是判断总订阅人数
26         if (c % 2 == 0) {
27         m++;
28         }
29   done();
30 }};

时间: 2024-10-30 08:47:06

WebSocket-bench分布式压测部署的相关文章

分布式压测系列之Jmeter4.0第一季

1)Jmeter4.0介绍 jmeter是个纯java编写的开源压测工具,apache旗下的开源软件,一开始是设计为web测试的软件,由于发展迅猛,现在可以压测许多协议比如:http.https.soap.ftp.database数据库.LDAP  轻量目录访问协议.TCP.SOMP(简单邮件协议)等,由于是纯java编写,可以在苹果.window或者Linux下运行,全功能的测试IDE,允许快速的建立测试计划(从浏览器或本地应用程序,官网地址:http://jmeter.apache.org)

DAY2-jmeter分布式压测,charls操作基础,python基础

jmeter 分布式压测 jmeter可以用来做分布式压测,需要做的是: 1. 在目标压力机上安装jmeter,并且在jmeter根目录下的bin目录下启动Jmeter-server 2. 在本地的jmeter的bin目录下找到jmeter properties文件,修改 remote hosts为目标压力机的host 3. 启动->远程启动 jmeter在linux上运行 由于现在大部分的server都为linux系统,在这种情况下,如果想要做jmeter压测: 1. 将准备好的脚本放到目标机

接口测试学习——jmeter分布式压测

分布式压测我理解的就是有一台主控机和几台压力机.主控机通过远程控制压力机启动测试,来实现系统不同级别访问量情况下的性能验证.操作步骤如下: 1.启动jmeter自动化工具,界面显示如下图所示. 2.在"测试计划"单击鼠标右键,选择[添加]->[Threads(Users)]->[线程组],添加一个线程组. 3.添加线程以后,设置线程组. "线程组"可以类似于虚拟用户组,设置"线程数"为100,即我们要测试的是100个用户并发的情况:&

jmeter分布式压测(简单版)

需要使用jmeter模拟大并发的情况时,单台压测机不能满足需求,可进行分布式压测. 简单来说就是,多台机器同时安装jmeter,选择一台机器作为调度机,其他作为压力机.进行相应的配置后,就可以用调度机操控压力机发起请求. 如何配置(以Windows为例): 1.压力机: 1)执行当前压力机下jmeter安装包bin目录下的jmeter-server的批处理文件,此时该机器上启动一个java进程,并随机分配端口,监听来自调度机的请求. 但是这里我们需要配置成固定端口方式,否则调度机远程启动压力机时

第一周:jmeter分布式压测简介

在我们日常的测试工作中经常会需要对系统进行压测,一般来说,使用jmeter一台电脑支持的最大并发数 为200,那么当我们压测时需要更大的并发数时,我们就需要使用多台电脑来进行分布式压测. 第一步:首先要准备多台电脑,全部安装了jmeter,并且这些电脑都能互相ping通. 第二步:修改主机中jmeter的配置文件,在jmeter的bin目录下找到jmeter.properties文件,编辑该文件,找到 remote_hosts字段,在该字段后面添加其他电脑的IP地址,其中端口号默认为1099.

JMeter在linux上分布式压测步骤(二)

哈喽,我又来了~ 前提:三台linux虚拟机,一台作为master,另外两台作为slave. 一.server端 1.修改1099端口,client和server通信的端口,可以不修改,默认就是1099 2.启动jmeter-server (这里启动的时候可以看到ip后面的端口不是1099,这里不用管,1099是client和server的通信端口,和这个没有关系) 二.client端:配置master和slave 1.进入到jmeter的bin目录下,打开jmeter.properties c

Linux环境下进行分布式压测踩过的坑

背景:公司为了满足大并发的情况,需要测试组配合,就需要分布式压测,这里我把我踩过坑都记录下来: 环境:Linux + jmeter-v.5.1.1;使用3台2核4G的压力机: Q1: Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks A1:解决思

分布式压测

普通压测:单台机可以对目标机器进行压力测试,产生的压力比较小,受限因素包括CPU,网络,IO等分布式压测:利用多台机器向目标机器产生压力,模拟几万用户并发访问(用下图简单示例什么是分布式压测) 如果用普通压测,单机配置如果不高,则可能最多发起10000个并发,达不到40000并发的目标,所以才会引入分布式压测技术. 一.什么是分布式测试 分布式测试是指通过局域网和Internet,把分布于不同地点.独立完成特定功能的测试计算机连接起来,以达到测试资源共享.分散操作.集中管理.协同工作.负载均衡.

分布式压测实战步骤(不包含脚本的编写)

1.关注压测内存和CPU的使用 使用分布式压测 命令 举例:jmeter -n -t /Users/jack/Desktop/remote.jmx -r -l /Users/jack/Desktop/jtl/result.jtl -e -o /Users/jack/Desktop/result 2.压测前修改master节点 jmeter remote_hosts = XXX.XX.XX.XX:XXXX, XXX.XX.XX.XX:XXXX XX就是slave的IP地址和端口号 修改server