文档章节

利用Spring Insight + JMeter 对Web应用进行压力测试和性能评估

C
 ChainJ
发布于 2017/07/21 16:34
字数 887
阅读 66
收藏 0

Spring Insight Spring Insight 是一款提供Web应用行为和表现可视化实时检测的工具,简单说就是服务器收到请求,Spring Insight 通过一些图形和数据告诉检测者这些请求的请求时长。通过分析一些细节数据,检测者可以得出请求快、慢或异常的原因。 既然是通过分析细节数据才能得到请求快慢的原因,那 Spring Insight 可以提供哪些数据呢? 1,JDBC 查询时间 2,Spring Bean 响应时间 3,外部请求时间 针对 Hibernate 或 Spring MVC 这些框架,它还能告诉开发者请求中数据库访问的事务数、为请求绑定参数的耗时以及请求头的详细信息等。从这些数据中,我们能获取数据库查询数和它们的性能的列表,包含详细请求信息的请求列表,Spring Bean 方法调用列表,Spring Bean 的调用和性能列表。可以看到这些信息对分析 Spring 框架下的业务逻辑很有帮助。 关于 Spring Insight 的用处,不再赘述,下面说一下它的安装和使用。

Insight安装和使用 Spring Insight 是基于 Pivotal tc Server 的应用,所以我们需要下载一个开发者版本的服务器。附上 pivotal tc server developer edition下载地址 https://network.pivotal.io/products/pivotal-tcserver 这个地址下的 /Pivotal tc Server Developer Edition 目录下是服务器, Pivotal tc Server Templates 目录下是可以运行在 tomcat 服务器上的实例模板,我们下载其中的 Spring Insight Developer Edition 模板。 解压 tc Server 文件和 insight template 文件,将 insight 的模板拷贝到服务器根目录 (/tcserver) 的 /tcserver/templates 文件夹内,或运行 tcruntime-admin.sh get-template 命令来获取实例模板。运行 tcruntime-instance.sh create Insight_Name -t insight 来创建一个名为 Insight_Name 的 Spring Insight 实例。最后,运行 tcruntime-ctl.sh Insight_Name start开启实例。Windows下,在最后开启实例前,需要运行``` tcruntime-ctl.bat Insight_Name install

    这样 Spring Insight 就安装完成了,这些步骤后,服务器目录下会多一个文件夹 /tcserver/Insight_Name,接下来需要将需要监测的 Web 应用的 war 包拷贝到 /tcserver/Insight_Name/webapps 下就可以了。之后浏览器访问 localhost:8080/insight 即可观察到自己拷贝过去的应用包。

**JMeter** 
    常见测试概念:
    1,性能测试:展示在给定的软硬件条件下,应用所能表现出的最佳性能,以期从其中找到优化点的测试
    2,负载测试:在系统所设计的可供操作的最高负载的情况下,对应用进行的基础测试
    3,压力测试:以淹没应用资源的手段,尽可能地使应用出现崩溃的测试

    JMeter 是一款可以基于不同协议,对应用进行负载测试、压力测试、面向性能的业务(功能)测试以及回归测试等的工具。它支持的协议有:
    Web — HTTP/HTTPS
    Web Services — SOAP/RPC(Simple Object Access Protocol / Remote Procedure Call protocol)
    DataBase via JDBC Driver
    Directory — LDAP(Light Directory Access Protocol)
    Messaging Oriented Service via JMS(Java Messaging Service)
    Service — POP3(Post Office Protocol 3)、IMAP(Internet Mail Access Protocol)、SMTP(Simple Mail Transfer Protocol)
    FTP Service
    
    为了实现压力测试,我们需要多个线程同时对服务器进行访问,所以 JMeter 有线程组这样一个概念。通过配置线程组内启动线程数、循环次数等参数,我们可以在配置的时间内开启多个线程,并通过上述协议发起对服务器的访问。JMeter 提供许多表格和图形以辅助对访问结果的分析。

© 著作权归作者所有

共有 人打赏支持
C
粉丝 0
博文 4
码字总数 6834
作品 0
深圳
JMeter和LoadRunner的异同

Notes:最近几天一直在搞测试软件,相继搞了LoadRunner和JMeter,现在和大家分享一下JMeter和LoadRunner的异同 Jmeter和LoadRunner的异同   1、Jmeter的架构跟LoadRunner原理一样,都是通过...

JavaOlder
2013/03/14
0
0
JMeter学习-001-JMeter初识

Apache JMeter是Apache组织开发的基于Java的开源压力测试工具(个人发现也可用于接口测试)。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试...

拎壶冲冲冲
05/29
0
0
JMeter学习-003-JMeter与LoadRunner的异曲同工

本节主要对 JMeter 与 LoadRunner 的优缺点进行概要的总结,若有不足之处,敬请指正,不胜感激! 同时,我也不得不承认,在对 JMeter 和 LoadRunner 进行比较时,我个人的确偏向了 JMeter(免...

拎壶冲冲冲
06/26
0
0
开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRun...

周金桥
06/29
0
0
开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRun...

周金桥
2017/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
2
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
33
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部