Java服务性能测试与监控

36 篇文章 2 订阅
24 篇文章 0 订阅

Java服务性能测试与性能调优

前言

JVM 和 Tomcat参数对系统的承载能力有一定的影响, 但是主要影响性能的还是我们写的代码与数据库的SQL, 所以代码优化和SQL优化才是我们优化的重点

性能测试

工具使用 Apache-JMeter-5.0

请添加图片描述

  1. 新建线程组

    请添加图片描述

  2. 新建Http请求

    请添加图片描述

  3. 添加请求头/cookie配置

请添加图片描述

请添加图片描述

请添加图片描述

  1. 编辑HTTP请求

请添加图片描述

  1. 添加查看结果

    请添加图片描述

  2. 配置线程组 下图配置相对与 100 * 100 = 10000
    请添加图片描述

  3. 配置完成

    请添加图片描述

  4. 运行与结果清除

    请添加图片描述

  5. 查看结果

    请添加图片描述

    请添加图片描述

    请添加图片描述

    记录测试结果

压测内容压测线程数吞吐量/s90%响应时间99%响应时间
堆内存
年轻代大小
线程内存大小
tomcat线程数

如果压测结果不理想 ,请查看接口的业务逻辑是否可以优化(sql / 代码逻辑等)

JMeter Windows 端口占用问题修改

尝试用大于5000的TCP端口连接时发生错误

JMeter Address Already in use错误解决 地址被占用
原因

windows本身提供的端口访问机制的问题。

Windows提供给TCP/IP链接的端口为1024-5000,并且要四分钟来循环回收他们。就导致我们在短时间内跑大量的请求时将端口占满了。

解决

1.cmd中,用regedit命令打开注册表

2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下,

1.右击parameters,添加一个新的 DWORD,名字为 MaxUserPort

请添加图片描述

2 .然后双击MaxUserPort,输入数值数据为65534,基数选择十进制(如果是分布式运行的话,控制机器和负载机器都需要这样操作哦)

请添加图片描述

也可以设置这个:

右击parameters,添加一个新的 DWORD,名字为 TCPTimedWaitDelay
双击TCPTimedWaitDelay 输入数值数据为 30 (原来的回收时间是4分钟,此处的含义为回收时间改为30秒)

请添加图片描述

3.修改配置完毕之后记得重启机器才会生效

压测时性能监控jvisualvm

在安装了Java环境的电脑 在终端输入 jvisualvm命令 打卡性能监控

请添加图片描述

界面介绍

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

jvisualvm服务器不可用问题解决

点击 工具 -> 插件 -> 可用插件 -> 检查最新插件

请添加图片描述

请添加图片描述

如果出现以上报错 参考以下方案解决 如果没有出现则忽略

解决:

1、cmd查看自己的 jdk 的版本 java -version 举例:此次电脑上的jdk版本为 java version “1.8.0_231”
2、打开 https://visualvm.github.io/pluginscenters.html 找到自己的 jdk对应的版本 点击链接进去
请添加图片描述

3、复制 此处URL

请添加图片描述

4、复制到此处 注意URL的后缀一定是 updates.xml.gz

请添加图片描述

jvisualvm安装GC插件

请添加图片描述

jvisualvm监控远程服务器(JDK8 & centos系统)

远程服务器准备

  1. 在JDK的bin目录下新增文件
cd /jdk目录/bin/
vim jstatd.all.policy
  1. 给该文件添加内容

    # 有 tools.jar(JDK8)
    grant codebase "file:${java.home}/lib/tools.jar" {
        permission java.security.AllPermission;
    };
    
  2. 在JDK的bin目录下执行以下命令

    cd /jdk目录/bin/
    nohup jstatd -J-Djava.rmi.server.hostname=本机IP -J-Djava.security.policy=./jstatd.all.policy -p 自己的端口 & jps -l
    

    请添加图片描述

使用jvisualvm链接远程服务器

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值