作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试。刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上有一定的要求,对于并发用户要求也是比较高的,所以利用项目之间的空隙自学下。

1.java运行环境

说是自学,但是对服务器这些的概念还是很模糊的我,还是得先了解下软件的运行环境,服务器等概念才好下手。

由于正式的环境客户是购买了阿里云的服务器,所以了解了下简单的流程

购买域名--购买服务器(选择操作系统Linux或者windows)--远程桌面连接(本机下载putty等软件)--配置java运行环境在云服务器上--下载tomcat在服务器上--利用远程软件上传源码到服务器上Apache

webapps的文件夹下--打开tomacat文件夹,修改配置文件,添加购买的域名--备案,域名解析,这样就可以通过域名访问网站了。

tomcat是一个服务器的软件,所以服务器的性能测试也就是tomcat的性能测试

2.jmeter服务器分布式性能测试

将jmetter的服务端安装在服务器上--确定并发数从而确定并发的电脑数--在需要分布式的代理计算机上配置环境--安装jdk,java,jmeter等软件--在主控制机上打开jmeter.properties的软件搜索remote,添加远程

计算机的ip地址用逗号隔开--在服务器上打开jmeter服务端的文件jmeter-server.bat--在控制机上打开jmeter,添加线程(设置线程数即并发数),http请求,监视器等--点击运行中的远程启动全部。完成分布式压力测试

在性能分析上需要结合网络,数据库,代码,服务器等方面综合分析性能瓶颈

服务器性能测试,添加服务器指标:

在服务器端打开jmeter测试连接成功后,监控服务器的性能指标,添加监视器:jp@gc-PerMon Metrics Collector,添加监控的性能指标cpu,memeroy等

3.布式测试注意点

单台电脑1000或者5000以上的并发无法支撑这么大的并发数,需要分布式, 随着并发的增大,tps不会增长,即出现瓶颈(排除服务器瓶颈及其他),可能是本测试机找不住了,则要分布式

进行分布式平台测试的时候,要最好注意以下几点:

1. 防火墙应该关闭

2. 所有客户端应该都在同一个子网中

3. 确保jmeter可以访问服务器

4. 确保各个jmeter,java版本一致,不同版本可能会存在协同问题

5.如果测试用到了外部数据文件,那么请注意这些文件不会被JMeter客户端分发,因此测试人员需要确保每台执行机上都保存了这些数据文件(其所在目 录也必须正确)

(1)jmeter-properties:remote_hosts添加:远程主机ip地址和端口号,以逗号分隔开

(2)设置后,主机的jmeter重启,点击【运行】>【远程启动】

出现的问题:运行后,远程的响应数据为空

原因:测试的文件以及数据的路径不一致

解决方案:远程的测试文件需要用到绝对路径

4.数据库性能测试

a.JDBC Connection-mysql数据库驱动配置

http://blog.csdn.net/smj811504083/article/details/70844703

测试计划>线程组>JDBC Connect Configuration,JDBC request,察看结果树

(1)JDBC Connect Configuration

(2)JDBC request

(3)运行

出现的问题:“Cannot load JDBC driver class 'com.mysql.jdbc.Driver”,是因为缺少JDBC连接MySql的驱动包,因此需要手动添加驱动包。

解决方案:

下载mysql-connector-java压缩文件:https://dev.mysql.com/downloads/file/?id=472651

解压后将文件放在jmeter的lib文件夹下

在测试计划中添加jar文件:

b.Bean Shell Sample

注意:

(1)写完的每个语句后面必须加上分号;

(2)csvread取值方式以线程为主,循环取值

Jmeter性能测试-分布式压力测试的更多相关文章

  1. linux使用JMETER进行分布式压力测试

    1. 下载jmeter tgz文件   http://jmeter.apache.org/download_jmeter.cgi 2. 登录linux服务器,创建jmeter目录,rz上传jmeter ...

  2. 性能测试工具 jmeter 分布式压力测试实操

    性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...

  3. jmeter分布式压力测试实践+登录为例

    1.一张分布式压力的图解,如下 准备: 1.两台slave 2.一个master 3.待测目标地址 http://XXX 准备环境:linux环境,master如果可以最好有可视化电脑界面,便于jmx ...

  4. Jmeter入门(压力测试)

    Jmeter介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试). 而且用Jmeter 来测试 Restful API, 非常好用. ...

  5. jmeter APP接口压力测试

    第一步:获取开发文档,了解接口地址和参数名 第二步:jmeter中添加需要测试的接口 a.设计APP的接口框架: b.http请求默认值设置如下: c.接口中应需要用到sign字段,加密字符串与时间戳 ...

  6. AWS EC2+Docker+JMeter构建分布式负载测试基础架构

    目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...

  7. 使用Jmeter至WebService压力测试

    使用Jmeter至WebService压力测试   目中我们使用了Jmeter对webservice进行了压力測试,Apache JMeter是Apache组织开发的基于Java的压力測试工具.用于对 ...

  8. .net分布式压力测试工具(Beetle.DT)

    肯定有人会问为什么会写这样一个开源工具?和现有的有什么差别?不过对于一个程序员来说写东西还真不需要理由的:),主要原因是工作有点闲(开玩笑),不过说实话一个程员怎可能会停止写代码呢(作为一个奔4的程序 ...

  9. jmeter简单得压力测试

    Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力测试 ...

随机推荐

  1. Java基础——String类(二)

    今天做了几道String常见操作.先来几个代码实例: 例一:此方法,仅把字符串前后出现的空格去掉了,中间部分不会. class TestTrim { public static void main(S ...

  2. JSP学习笔记(6)-使用数据库

    1.连接MySQL数据库 1.1.JDBC JDBC(Java Database Connectivity)提供了访问数据库的API,由一些Java类和接口组成,是Java运行平台核心库中的一部分.用 ...

  3. PHP定界符<<<eof 使用

    PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特 ...

  4. 纯css3无缝滚动

    纯css3无缝向左滚动: HTML: <div class="marqueCon"> <div class="marque"> < ...

  5. php中0与’0’的区别

    首先php中0与'0',转化后值相等,但是类型不同: php是一种弱类型的语句,他的变量.字符定义其实并不十分规范,比如 $a = '4′;我们可以说这个$a是一个字符,但是他又可以直接进行数字的加减 ...

  6. 检查xml文件

    #coding=utf- import os import time def verify(filePath): print("verify--" + filePath) list ...

  7. 无线网卡加密方式wep wpa/wpa2 介绍

    常见无线热点的配置选项:无线名称路由器的无线(Wi-Fi)名称.无线密码无线加密使用WPA2-PSK/WPA-PSK加密方式.AES加密算法,无线密码为8-63个字符,最好是数字.字母.符号的组合.信 ...

  8. kafka入门1:安装及配置

    1下载 官方下载地址:https://kafka.apache.org/downloads 案例使用版本:kafka_2.11-1.1.0.tgz 2上传服务器 使用ftp工具将压缩包放置到服务器上 ...

  9. Azure 元数据服务:适用于 Windows VM 的计划事件(预览)

    计划事件是 Azure 元数据服务中的其中一个子服务. 它负责显示有关即将发生的事件(例如,重新启动)的信息,使应用程序可以为其做准备并限制中断. 它可用于所有 Azure 虚拟机类型(包括 PaaS ...

  10. Azure 虚拟机代理概述

    Azure 虚拟机代理(AM 代理)是受保护的轻型过程,用于管理 VM 与 Azure 结构控制器的交互. VM 代理有一个主要角色,目的是启用和执行 Azure 虚拟机扩展. VM 扩展可用于对虚拟 ...