一、现象  /pinter/case/cpu?type=1   使用google的gjson.tojson性能较差    type=2 使用性能好的阿里巴巴的fastjson库
  压测过程中,发现应用服务器的CPU使用率比较高(>80%):
  两种情况:
  1、接口的性能非常好,比如响应时间<10ms,tps很高,此时CPU使用率高是正常的,不需要优化
  2、接口性能不好,比如响应时间>200ms,tps很低,此时需要考虑优化

二、CPU消耗高可能的原因
  1、使用了复杂的算法,比如加密、解密
  2、压缩、解压、序列化等操作
  3、代码bug,比如死循环

三、定位方法
  在windows上(本机)和服务器上(Linux),分别安装对应版本的jprofiler
  Windows:双击-下一步(略)
  Linux:
    1、上传安装包,执行命令rpm -ivh jprofiler_linux_9_1_1.rpm
    2、tomcat/bin/catalina.sh文件配置jvm参数的地方添加  -agentpath:/opt/jprofiler11/bin/linux-x86/libjprofilerti.so=port=8849,nowait    64位系统需将linux-x86换成x64

jprofiler使用需关闭防火墙,因此,只适合在测试环境使用。

使用jprofiler定位响应时间长的问题    /pinter/case/time?id=1 

  定位方法:使用jprofiler的方法耗时统计功能,可以统计出每个方法的耗时
  1、点击“CPU views”- “Method Statistics”
  2、点击监控按钮,开始监控进程的方法耗时
  3、等待30s(自己掌握,时间太短分析样本太少),点击停止监控按钮
  4、查看表格中的各方法耗时和调用次数

性能测试学习第十天-----性能案例分析之CPU消耗过高&响应时间较长的更多相关文章

  1. 【Hadoop学习之十】MapReduce案例分析二-好友推荐

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 最应该推荐的好友TopN,如何排名 ...

  2. 阿里云资深DBA专家罗龙九:云数据库十大经典案例分析【转载】

    阿里云资深DBA专家罗龙九:云数据库十大经典案例分析 2016-07-21 06:33 本文已获阿里云授权发布,转载具体要求见文末 摘要:本文根据阿里云资深DBA专家罗龙九在首届阿里巴巴在线峰会的&l ...

  3. 用深度学习LSTM炒股:对冲基金案例分析

    英伟达昨天一边发布“全球最大的GPU”,一边经历股价跳水20多美元,到今天发稿时间也没恢复过来.无数同学在后台问文摘菌,要不要抄一波底嘞? 今天用深度学习的序列模型预测股价已经取得了不错的效果,尤其是 ...

  4. Python核心技术与实战——十|面向对象的案例分析

    今天通过面向对象来对照一个案例分析一下,主要模拟敏捷开发过程中的迭代开发流程,巩固面向对象的程序设计思想. 我们从一个最简单的搜索做起,一步步的对其进行优化,首先我们要知道一个搜索引擎的构造:搜索器. ...

  5. 使用jstack分析cpu消耗过高的问题

    我们使用jdk自带的jstack来分析.当linux出现cpu被java程序消耗过高时,以下过程说不定可以帮上你的忙: 1.top查找出哪个进程消耗的cpu高 21125 co_ad2    18   ...

  6. Java开发学习(四十)----MyBatisPlus入门案例与简介

    一.入门案例 MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发.提供效率. SpringBoot它能快速构建Spring开发环境用以整合其他技术,使用起来 ...

  7. python 学习笔记十四 jQuery案例详解(进阶篇)

    1.选择器和筛选器 案例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  8. 【Hadoop学习之十三】MapReduce案例分析五-ItemCF

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 推荐系统——协同过滤(Collab ...

  9. 【Hadoop学习之九】MapReduce案例分析一-天气

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 找出每个月气温最高的2天 1949 ...

随机推荐

  1. VBA 字符串-相关函数(1-5)

    Instr()函数 InStr()函数返回一个字符串第一次出现在一个字符串,从左到右搜索.返回搜索到的字符索引位置. 语法 InStr([start,]string1,string2[,compare ...

  2. springboot+security整合(1)

    说明 springboot 版本 2.0.3源码地址:点击跳转 系列 springboot+security 整合(1) springboot+security 整合(2) springboot+se ...

  3. MySQL JOIN 连接时,条件为以逗号分隔的字段与 ID 相匹配

    一.背景 有一张相片表,一张相片所属标签表,一张相片可以归属于多个标签,表结构如下: 现在需要通过一次查询,得到每一张照片对应的标签名称,标签名称之间以固定的分隔符连接,结果如下图: 二.查询语句 原 ...

  4. springmvc集成cxf的方法

    最近需要在项目中增加webservice接口,供三方调用,下面就把集成的方法展示如下,供大家参考: 第一步:服务端的发布; 1:配置web.xml文件,添加cxf的servlet <servle ...

  5. jar包下载网站

    https://mvnrepository.com/ https://www.kumapai.com/open/query/?querytype=title&querykey=cglib ht ...

  6. MySQL Index--NOT IN和不等于两类操作无法走索引?

    经常被问,NOT IN和<>操作就无法走索引? 真想只有一个:具体问题具体分析,没有前提的问题都是耍流氓. 准备测试数据: ## 删除测试表 DROP TABLE IF EXISTS tb ...

  7. Docker -compose install Harbor

    Docker-compose Harbor install Docker install Yum install docker-compose 首先安装 yum configuation 管理工具 [ ...

  8. sqlalchemy之基础操作

    原文链接:https://www.cnblogs.com/DragonFire/p/10166527.html

  9. Shodan information gathering use parameter

    1.we sue the Search Engines Shodan we can gather much information on the line web , such we want to ...

  10. 16.centos7基础学习与积累-002

    1.从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 互联网公司服务器品牌: dell 服务器品牌: 1U=4.45CM 2010年以 ...