性能测试调优篇---未完待续

性能测试调优一:
1.首先,看下选测交易的整个走向
纯系统内部交易:
选测交易如果是系统内的交易,每一步请求都和系统交互几次,访问了几个数据库,访问了数据库的那几张表??
该交易走了那几台机器,这几台机器的网络连接情况是什么样的??这几台机器是通过走的是哪些虚拟网卡,走了哪些路由器??带宽是什么情况??
该交易在这几台机器上消耗了多少CPU,内存,及其对磁盘做了多少次的访问??
从方法层面,从该交易的发起到结束,起了多少线程,调用了哪些相关的方法以及接口,访问了哪些表???
跨系统交易:
该交易发起后,每一步请求在系统内走了几次,调用了哪些接口,调用了几次,访问了哪些数据库以及哪几张表??

了解了以上内容后,才能准确的把握每个交易的压力点在哪里

在性能瓶颈分析时,从不同的层次去分析问题可能出现在哪一个具体的位置

2.合理的利用各种监控工具

系统资源监控,通常通过nmon来监控分析

应用层的监控,通常通过开源的工具如jprofile  java自带的jconsole visualvm以及商业化的软件如dynatrace

数据库层的监控,通常利用数据库本身的DB Snapshot(DB2快照  DB2top    Oracle的AWR报告) 或者 Spotlight on  db2   oracle 等等

3.仔细检查系统的各项参数配置,确保这些参数在最优状态

应用线程池

应用的日志级别

数据库连接池

操作系统级别的参数:文件句柄、TCP连接数等等

各个机器的资源大小是否合理:cpu、内存、磁盘空间、网络情况等

某些特定应用自带的一些参数设置(ESB  大数据平台等)

发压端的机器配置(网路情况、CPU、内存等等)

发压脚本的参数化以及参数化取值的方式是否合理,发压脚本是否本身存在一些bug或者不合理的内容

4.根据遇到的具体问题发挥你聪明的大脑,逐层分析,验证性能瓶颈的怀疑对象,逐个排除

直到找到最终的问题所在

几种常见的问题分析:

     压力上不去,不管怎么增加用户,系统的压力始终维持在一个点,且此时的资源消耗也很少,几乎可以忽略不记

查看系统日志,看是否有相关报错信息,如应用线程不足、数据库连接不足的情况,如果存在,调整后验证问题是否还存在

通常该情况是在某个资源的限制导致了压力传导不了后方,当然上述只是个人遇到的情况,也可能是其他原因造成的,需要根据实际

的情况去具体问题具体分析。

以下几种在后续在分析:

   随着压力的上升,响应时间变长

   随着压力的上升,TPS出现波动

   并发过程中,大量报错,交易成功率过低

   等等。-------未完待续

本人技术能力有限,还希望看到本文的大师多多指教,相互学习,共同提高

                                                                              2018年8月

 

转载于:https://www.cnblogs.com/vinnfung/p/9465401.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql连接idea详细教程_idea配置连接数据库的超详细步骤

学习时,使用IDEA的时候,需要连接Database,连接时遇到了一些小问题,下面记录一下操作流程以及遇到的问题的解决方法。一、 连接操作简介:介绍如何创建连接,具体连接某个数据库的操作流程。1.1 创建连接打开i…

redis单节点安装

1、下载 redis :https://redis.io/ redis 提供的是 源码包,需要编译。 2、Linux下安装gcc 和 tcl tcl介绍 命令:yum install gcc tcl 3、将redis的源码包,放到 /usr/local/src 下 tar -zxvf redis-4.0.6.tar.gz 4、安装redi…

Shell编程—企业生产案例

Linux系统Shell编程—企业生产案例(一) 企业数据库可以说是重点保护对象啊,没有之一,数据在当今企业里就是生命线,因此今天就来说一说,如何通过shell脚本来检查或监控MYSQL数据库服务是否正常?&…

ManicTime软件破解

这款软件用来记录电脑上程序的运行时间。方便天天用电脑的查看:今天我的时间都去哪儿了? 专业版不免费,而且需要 67 美元。 免费版和专业版的区别 破解补丁和官方软件下载(截止博文发布,官方最新版本 版本&#xff1…

mysql根据ID的顺序查找_求救:mysql 如何根据给定的 ID顺序查找结果?

各位大神,现在我遇到了一个难题需要你们的帮助。有下面两个表post表:文章表。record表:记录表,用于记录用户阅读顺序。record表 根据用户的阅读文章顺序用一个字段 postid 记录 post 表的主键ID,既 record.postid 的外键为 post.i…

DIY—USB学习板设计以及驱动开发

暑假在Intel OTC做访问学者时,看到公司有两个小巧的USB设备-温度计和LED音乐播放器,用于交大学生的Linux Kernel教学中。但看似简单的这些设备,还是从国外购买而得。因此,从intel回来之后,我就告诉学生能否设计一种USB…

ps -ef |grep

[rootzengmg 6379]# ps -ef | grep redisroot 1978 1 0 09:35 ? 00:00:16 /usr/local/bin/redis-server 127.0.0.1:6379 root 116656 2708 0 15:56 pts/1 00:00:00 grep redis 字段含义如下: UID PID PPID CSTIME…

python入坑指南_Rust入坑指南:万物初始

有没有同学记得我们一起挖了多少个坑?嗯…其实我自己也不记得了,今天我们再来挖一个特殊的坑,这个坑可以说是挖到根源了——元编程。元编程是编程领域的一个重要概念,它允许程序将代码作为数据,在运行时对代码进行修改…

python和noip的区别_【noi与noip的区别】

什么是NOINOI:全国青少年信息学奥林匹克(NOI)是国内包括港澳在内的省级代表队高水平的大赛,自1984年至今,在国内包括香港、澳门组织竞赛活动。每年经各省选拔产生5名选手(其中一名是女选手),由中国计算机学会在计算机普及较好的城…

gradle和maven区别

原文连接:http://blog.csdn.net/jueane/article/details/50383431 --------------------------------------------- Gradle和Maven都是项目自动构建工具,编译源代码只是整个过程的一个方面,更重要的是,你要把你的软件发布到生产…

iOS开发提问题

1、打造最受企业欢迎的iOS开发者: 一直都存在的问题,什么样的员工最受企业欢迎?一直也有人在努力提升自己,成为受企业欢迎的员工然而,我们应该往方向去提升自己呢?88家知名企业今年来iOS面试题合集&#xf…

maven引用公共包_使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴...

使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴。1、首先在本地maven位置的配置文件setting.xml(没有该文件就新建这个文件)中,添加配置maven仓库的地址。我用的是我的GitHub仓库…

Gradle笔记——Gradle的简介与安装

原文连接:http://blog.csdn.net/maosidiaoxian/article/details/40109337 gradle专栏 ----------------------------------------- Gradle 安装 1,安装JDK,并配置JAVA_HOME环境变量。因为Gradle是用Groovy编写的,而Groovy基于JA…

WPF之鼠标滑动切换图片

原文:WPF之鼠标滑动切换图片在网上找了一会儿也没找到我想要的效果,还是自己动手,丰衣足食吧。 需求:当前面板中只显示一张图片,图片栏的下部有用来显示当前图片处于图片队列中的位置的圆球,并且点击下部栏内的圆球可以…

CPU的核心数、线程数的关系和区别

原文地址:http://blog.csdn.net/yu132563/article/details/45222935 ------------------------------------- 我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核…

mysql in 子查询优化_mysql in 子查询 容易优化

mysql in 子查询 简单优化 大数量下,不要使用 in 嵌套子查询,性能很差,很容易卡死。 ? 简单调整方式如下: select uid,nick_name from uc_users where uid in(select fid from uc_follow where uid#uid#) ? 可拆解成&#xff1a…

谷歌浏览器插件入门示例

2019独角兽企业重金招聘Python工程师标准>>> 实现:任何网址实现图片下载和获取当前域名的cookies的json字符串。 图片下载是给小白用的,可以选中批量下载,获取cookies 是为了方便程序员调试用。 获取cookies: git地址:…

Fiddler中response乱码的解决方案

原文连接:http://blog.csdn.net/quiet_girl/article/details/50577828 ---------------------------------------------------------- 有时候我们看到Response中的HTML是乱码的, 这是因为HTML被压缩了, 我们可以通过两种方法去解压缩。 解决…

线程带来的风险

线程安全性问题 多线程环境下 多个线程共享一个资源对资源进行非原子性操作。 以上三者都存在就会发生线程安全性问题 如文中的卖火车票问题:http://blog.csdn.net/zengmingen/article/details/53217229 原因是:一行java代码转成.class字节码文件后是…

vue内引入语音播报功能

为什么80%的码农都做不了架构师?>>> 在vue项目中引入语音播报,使用的科大讯飞语音接入, 具体思路为每次接收到语音信息后存入一个数组,然后监听这个数组,开始冲第一个索引播放,并且同时根据vue…