成都网站建设设计

将想法与焦点和您一起共享

分布式服务器安全性能测试 分布式服务应该怎么测试

Jmeter 分布式性能测试方案

Jmeter 分布式工作原理

创新互联公司专注于海拉尔企业网站建设,响应式网站设计,成都商城网站开发。海拉尔网站建设公司,为海拉尔等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

控制机: 分发脚本 和 回收响应数据

执行机: 一般使用服务器

Jmeter 分布式工作流程

1.选择其中一台作为调度机(master),其他机器做为代理机(Agent)。

2.执行时,master 会把脚本数据发送到每台 Agent上,Agent 拿到脚本后就开始执行,Agent执行时不需要启动GUI,通过命令行模式执行的

3.执行完成后,Agent 会把结果回传给 master,master会收集所有Agent的信息并汇总

分布式操作流程:

1.首先 保证脚本是可以运行的--本机运行是ok的

2.保证 执行机与控制机之间网络是ok,相互ping通

3.执行机与控制机的Jmeter 和 jdk 要版本一致

4.执行机里面的jmeter是可以运行的

运行jmeter

cd ./apache-jmeter-5.1.1/bin

./jmeter.sh

./jmeter-server

5.关联控制机与执行机

(1)设置执行机的Jmeter 属性文件

(2)设置控制机的Jmeter 属性文件

(3)重启设置过的机器的 Jmeter工具

实战演示

一台控制机 + 一台执行机

  准备工作:让执行机的jmeter-server 运行起来

jmeter 有两种运行模式 

1.GUI

2.命令行

代理机设置

1. 打开window本地,进入 cmd命令行,输入 ifconfig,查看 本地 IP地址为 192.168.1.101

2.登录远程服务器,ping 本地连接,保证联通

输入 ping 192.168.1.101

3.登录远程服务器,查看本地ip

输入 ifconfig,查看服务器 ip 为 192.168.1.104

4.打开 本地 cmd,ping 远程链接

输入 ping 192.168.1.104

5. 执行机 jmeter.properties 设置 remote_hosts = 192.168.1.104:1099   

server.rmi.ssl.disable=true

控制机 jmeter.properties 设置 remote_hosts = 192.168.1.101:1099,remote_hosts = 192.168.1.104:1099

server.rmi.ssl.disable=true

6.执行机启动jmeter

进入 bin 目录,执行 ./jmeter-server

./jmeter-server-Djava.rmi.server.hostname=192.168.1.104

分布式Jmeter测试高性能UDP服务

如下图

不过要注意以下几点 :

如下图:1个master(192.168.171.128) 2个slave(192.168.171.131 192.168.171.133) 这些都是虚拟机ip;

Target是部署于同一个局域网中的UDP服务器(10.100.50.127)

下面我们来演示一下如何配置SSL

如果是在windows上,则执行bin/create-rmi-keystore.bat。执行完成后会生成一个文件rmi_keystore.jks。圣后这个文件后,保证每一个Jmeter宿主机上都使用的是这个文件

所有的宿主机都要安装Jmeter并配置环境变量

1.将Jmeter压缩包上传到所有的宿主机上。解压后的目录为/opt/software/jmeter/apache-jmeter-4.0

2.配置环境变量

配置好之后需要测试一下

如果提示没有权限,就把bin目录的文件加一下执行权限就好了

做好上面的两步后,slave只需要启动一下jmeter-server就可以了

也可以指定ip运行

阿里云服务器ECS如何选择?性能测试PTS助你测试和选择阿里云服务器

阿里云服务器ECS如何选择?很多新手用户并不知道PTS是什么,如果你不知道如何选择阿里云服务器ECS产品,性能测试PTS可以很好的帮助你快速对云服务器进行压力测试,从而助你选择适合自己的阿里云服务器ECS,下面是性能测试PTS详解!

阿里云开发者社区最近推出了一个“ ECS 选款利器!PTS助您快速上云 ”活动,PTS性能压测包仅需0.99/月起,真实模拟,免去繁琐的搭建和维护成本!现在您可以只支付10块钱不到的试用成本,即可体验使用 PTS 来帮助 ECS 进行容量规划选择合适规格的整个流程!

完成动手实验的同学,即可参与抽奖活动,小米手环 6、蓝牙键盘、掌上游戏机、笔记本支架、 数据线、优惠券等丰富奖品等您来拿!限量 1500 份,抽奖即得,百分百中奖哦!

性能测试PTS(Performance Testing Service)是具备强大的分布式压测能力的SaaS压测平台,可模拟海量用户的真实业务场景,全方位验证业务站点的性能、容量和稳定性。

PTS旨在简化性能压测本身的工作。

PTS目标是将性能压测本身的工作持续简化,使您可以将更多的精力回归到关注业务和性能问题本身。在PTS平台上,您可以用较低的人力和资源成本,构造出最接近真实业务场景的复杂交互式流量,快速衡量系统的业务性能状况,为性能问题定位、容量配比、全链路压测的流量构造提供最好的帮助。进而提升用户体验,促进业务发展,最大程度实现企业的商业价值。

业务场景

PTS广泛应用于各种压力测试和性能测试场景,包括但不限于以下场景:

PTS孵化于服务阿里巴巴全生态五年以上的单链路、全链路压测平台,是阿里巴巴内部最佳实践的输出。该平台对内除了支持日常的外部流量压测之外,同时支持了大大小小的促销活动,如天猫双11、双12和年货节等。

压测流程

PTS提供全面高效的压测流程:

压测流程说明:

1.在PTS控制台上,准备压测API数据,构造压测场景,定义压测模式、量级等;支持随时启停压测,压测过程中可调速。

2.压测启动后,PTS后台的压测控制中心将自动调度压测数据、压测任务和压测引擎。

3.通过随机调度全国上百个城市和运营商的内容分发网络CDN (Content Delivery Network)节点,发起压测流量。保证从虚拟用户并发量、压测流量的分散度等维度都接近真正的用户行为,压测结果更加全面和真实可信。

4.通过压测引擎向您指定的业务站点发起压测。

5.压测过程中,通过集成云监控、ARMS(应用实时监控服务)产品,结合PTS自有的监控指标,实时采集压测数据。

6.在PTS控制台,实时展现压测数据,进行过程监控;压测结束后,生成压测报告。基于整个压测场景的性能表现,定位性能问题、发现系统瓶颈。

压测创建方式

PTS支持以下4种方式创建压测场景(或称压测用例),如下图所示:

说明:

方式一:PTS自研零编码可视化编排,使用自研强大引擎压测。

方式二: 使用PTS自研云端录制器,零侵入录制业务请求并导入1中的自研交互中进行进一步设置。

方式三: 将导入脚本压测 1中的PTS自研交互中,使用PTS自研引擎。

方式四:JMeter压测并使用原生JMeter引擎进行压测,PTS提供自定义的压力构造和监控数据汇聚等产品服务。

其中,方式一、二、三由于使用了PTS的自研引擎,具备RPS(Requests per Second)吞吐量压测模式、秒级启动、实时控制、定时压测和流量遍布全国运营商网络的差异化能力。

方式一是PTS最核心的一种压测场景创建方式,所有资源包均可使用。其他几种创建方式面向不同规格资源包开放。

适用于多业务场景

不论您处于哪个行业,在以下业务场景(但不限于),PTS都是您值得信赖的性能测试工具。

适用行业广泛

PTS应用行业广泛,涉及电商、多媒体、金融保险、物流快递、广告营销、社交等等。

PTS服务阿里巴巴全生态多年,支持了天猫双11、双12、年货节等大促活动。植根于电商行业的PTS,对电商的典型业务模型支持得更友好,压测来源更广泛,脉冲能力和流量掌控能力更强。

PTS自商业版发布以来,吸引了来自多媒体、金融保险、政务等众多行业的用户,以其强大的压测场景编排能力和报表能力,帮助用户快速发现问题,进行针对性地调优,提升了系统承压能力。

适用于多种网络环境

不论您的业务位于公有云、专有云、混合云或者自建IDC中,只要能够通过公网访问,PTS都能够通过遍布全国上百个城市和各运营商的CDN节点发起压测流量,最大程度地模拟真实业务场景。

适用于使用HTTP/HTTPS/WebSocket等协议的客户端

PTS本身的GUI模式支持HTTP/HTTPS协议的压测,无论您的客户端是自研的App、移动端网页、PC端网页、微信小程序还是C/S结构的软件,都可以使用PTS进行压测。PTS同时集成了开源JMeter,支持更多的协议和场景,例如您可以通过“JMeter + WebSocket插件”的方式,对使用WebSocket协议的客户端进行压测(在PTS上传相应的插件JAR文件即可),其他协议以此类推。

下面以电商典型业务场景为例,为您介绍如何在PTS中编排压测场景。

什么是压测场景

要发起一次性能压测,首先需要创建一个压测场景。压测场景中包含一个或多个并行的业务,每个业务包含一个或多个串行的请求。

示例

淘宝网需要对产品A和B相关的页面(即存在多个API)进行压测,假设其主要业务场景为:

业务A:浏览产品A。

业务B:购买产品B(登录 → 浏览产品B → 加入购物车 → 提交订单)。

那么在压测场景中的设置如下。

串联链路1:浏览产品A 和串联链路2:购买产品B是并行关系。

根据业务逻辑,一部分用户在浏览产品A,另一部分用户在进行购买产品B的一系列操作,即两个业务是同时发生的,所以将它们设置为两个串联链路,压测中会并行发起请求。

串联链路中的多个API是串行关系。

根据业务逻辑,串联链路2:购买产品B中的一系列用户行为是存在先后顺序的,所以将这些存在先后关系的API添加到一个串联链路中,PTS压测中会按照顺序发起压测。

综合来看,在压测中,示例中的浏览产品A的API和登录的API,会同时发起压测流量。更多性能测试PTS场景示例,可参考阿里云帮助资料: 性能测试 PTS最佳实践


分享标题:分布式服务器安全性能测试 分布式服务应该怎么测试
网站链接:http://chengdu.cdxwcx.cn/article/dojgeep.html