
性能测试
文章平均质量分 91
紫漪
这个作者很懒,什么都没留下…
展开
-
mysql常用性能指标监控
关键 MySQL 统计指标如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控以下四个与性能及资源利用率相关的指标: 查询吞吐量 查询执行性能 连接情况 缓冲池使用情况 MySQL 用户可以接触到数百个数据库指标,因此,在本文中我们将专注于能帮助我们实时了解数据库健康与性能的关键指标。本系列文章讨论的一些监控策略只适用于 MySQL 5.6与5.7版本。这些版本间的差异将在原创 2020-08-31 14:44:59 · 1597 阅读 · 0 评论 -
【性能测试】- 磁盘I/O性能分析
1、首先通过top,查看磁盘IO通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 IO 过高等。2、然后通过iostat -d -x -k 1 2 查看磁盘是否达到瓶颈(或者:iostat -x 1 2 ) 可以使用命令:iostat -dxk 1 2或者使用sar -d -p 1 2命令,实际使用中主要还是看await 、 svctm 、 %util 参数其中, “-d”参数代表查看磁...原创 2020-07-30 13:47:55 · 10889 阅读 · 0 评论 -
【性能测试】 - 系统性能指标
1)业务指标:主要包括并发用户数、响应时间、处理能力。 指标 定义 简称 标准 交易响应时间 指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。 Response Time: RT 对于在线实时交易: 互联网企业:500毫秒以下,例如淘宝业务10毫秒左右。 金融企业:1秒以下为佳,部分复杂转载 2020-07-29 15:31:05 · 2042 阅读 · 0 评论 -
【性能测试】- 压测中遇到的性能问题及解决办法
一、测试过程中cpu过高1、用vmstat实时监控cpu使用情况。很小的压力AP cpu却到了80%多,指标是不能超过60%。 vmstat 2 (每二秒显示一次系统内存的统计信息)2、分析是use cpu过高还是sys cpu过高,常见的是use cpu使用过高。3、如果是sys cpu使用过高,先把消耗cpu最多的进程找出来(top命令),再找到该线程下消耗cpu过高的是哪几个线程,再把该线程转换成16进制,再用jstack命令来dump线程栈,看这个线程栈在调用什么东西导致u...转载 2020-07-29 15:15:42 · 7345 阅读 · 1 评论 -
【性能测试】-- 线程死锁和阻塞
一、死锁定义死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。例如:一个线程锁住了资源A,又想去锁定资源B,另外一个线程锁定了资源B,又想去锁定资源A,两个线程都想去得到对方的资源,而又不愿释放自己的资源,从而造成一种互相等待,无法执行的情况。死锁是一种严重的阻塞。二、死锁现象 /pinter/case/block 出现...转载 2020-07-28 16:50:50 · 1690 阅读 · 2 评论 -
【性能测试】--->内存溢出和JVM常见参数及JVM参数调优
一、查看Jvm运行状态的命令 (1)监控jvm的GC情况: jstat -gcutil pid 1000 100(只需要看O,如果达到100%,并且长期处于100%,则代表老年代内存不足) (2)查看jvm配置信息: jmap -heap pid:可以看到java进程的堆的配置信息,各区的空间大小和配置信息 (3)查看jvm中类和对象的占用情况: jmap -histo 5279 | head -20:查看jvm中各个类的实例数、占用内存数量以及类的全名...原创 2020-07-28 15:24:36 · 816 阅读 · 0 评论 -
使用Java VisualVM监控远程JVM(远程服务器为linux配置)
我们经常需要对我们的开发的软件做各种测试,软件对系统资源的使用情况更是不可少,目前有多个监控工具,相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具.这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面:从左边Applications树中可原创 2017-08-09 14:57:19 · 16020 阅读 · 2 评论 -
【性能测试】-堆内存-新生代、老年代、永久代(元空间)
栈是运行时的单位,而堆是存储的单位。栈是解决程序运行的问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即书怎么放,放在哪。堆内存划分:对于大多应用,java堆是java虚拟机管理的内存中最大的一块,被所有线程共享。此内存区域唯一目的就是存放对象实例,几乎所有的对象实例以及数据都在这里分配内存。为了进行高效的垃圾回收,虚拟机把堆内存逻辑上划分成三块区域(这样划分的目的使得JVM能够更好的管理堆内存中的对象,包括内存的分配以及回收):新生代(Young):新对象和没达到.原创 2020-07-28 09:11:08 · 738 阅读 · 0 评论 -
【性能测试】--->JVM 发生OOM的几种情况以及原因和解决方案
1、 Java堆溢出:Heap (堆内存不足)报错信息:java.lang.OutofMemoryError:Javaheap space造成原因:(1)代码中可能存在大对象分配(2)可能存在内存泄露,导致在多次GC之后,还是无法找到一块足够大的内存容纳当前对象。解决方案:(1)检查是否存在大对象的分配,最有可能的是大数组分配(2)通过jmap命令,把堆内存dump下来,使用mat工具分析一下,检查是否存在内存泄露的问题(3)如果没有找到明显的内存泄露,使用 -Xmx 加大堆...原创 2020-07-28 16:52:19 · 643 阅读 · 0 评论 -
【Jmeter】- 常用线程组设置及场景运行时间计算
Jmeter线程组分类:Jmeter中通过线程组来模拟大用户并发场景,今天主要介绍常用的线程组,帮助我们设计更加完善的测试场景,另外介绍下场景执行时间如何计算。一、Thread Group取样器错误后要执行的动作 继续:遇错误继续执行,不影响场景运行。默认为继续,常用。 Start Next Thread Loop:执行下次循环,当前循环剩余sampler不再执行。 停止线程:停止当前线程,其他线程继续执行。 ...原创 2020-07-24 17:00:54 · 2836 阅读 · 0 评论 -
【性能定位】使用jstack定位线程堆栈信息
转自:https://www.javatang.com/archives/2017/10/19/33151873.html基本概念 {#basic-info}在对Java内存泄漏进行分析的时候,需要对jvm运行期间的内存占用、线程执行等情况进行记录的dump文件,常用的主要有thread dump和heap dump。thread dump主要记录JVM在某一时刻各个线程执行的情况,以栈的形式显示,是一个文本文件。通过对thread dump文件可以分析出程序的问题出现在什么地方,从而定位具体.转载 2020-07-23 17:31:27 · 402 阅读 · 0 评论 -
【Interrupt】中断与性能
1、概念说明 CPU是一种硬件资源,和任何其他硬件设备一样也需要驱动和管理程序才能使用,我们可以把内核的进程调度看作是CPU的管理程序,用来管理和分配CPU资源,合理安排进程抢占CPU,并决定哪个进程该使用CPU、哪个进程该等待。操作系统内核里的进程调度主要用来调度两类资源:进程(或线程)和中断,进程调度给不同的资源分配了不同的优先级,优先级最高的是硬件中断,其次是内核(系统)进程,最后是用户进程。每个CPU都维护着一个可运行队列,用来存放那些可运行的线程。线程要么在睡眠状态(...原创 2020-07-22 10:01:21 · 2632 阅读 · 0 评论 -
Context Switches上下文切换性能详解
Context Switches 上下文切换,有时也被称为进程切换(process switch)或任务切换。是一个重要的性能指标。CPU从一个线程切换到另外一个线程,需要保存当前任务的运行环境,恢复将要运行任务的运行环境,必然带来性能消耗。Context Switches 上下文切换简介操作系统可以同时运行多个进程, 然而一颗CPU同时只能执行一项任务,操作系统利用时间片轮转的方式,让用户感觉这些任务正在同时进行。 CPU给每个任务都服务一定的时间, 然后把当前任务的状态保存下来, 在加.原创 2020-07-21 17:10:19 · 1729 阅读 · 0 评论 -
Top命令详解
Top命令详解在Linux操作系统中,top是使用最频繁,也是比较全的一个命令。Top命令类似于Windows系统的任务管理器工具。它对于所有正在运行的进行和系统负荷提供不断更新的概览信息,包括系统负载、CPU利用分布情况、内存使用、每个进程的内容使用情况等信息。下面主要介绍一下top命令。系统状态 top - 17:25:29 系统当前时间 up 43 days,41 min 系统到目前为止已运行的时间 .原创 2020-07-17 14:25:43 · 22509 阅读 · 0 评论 -
【Jmeter】正则表达式提取及常见技巧
1、正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。具体介绍及使用可参考菜鸟教程:https://www.runoob.com/regexp/regexp-tutorial.html常用的元字符:比如正则表达式中\d+ 是来匹配1个或更多连续的数字。常用的限定符限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配.原创 2020-07-17 14:11:50 · 12049 阅读 · 0 评论 -
【Jmeter】Jmeter中如何选择自动重定向和跟随重定向
问题场景: 在调试脚本时,发现用户登录后的功能操作全部都不好使,并且后续显示的请求依然是登录请求,并且继续执行后面的正确的请求时依然显示的是登录请求。 排查问题发现该系统的登录场景为:打开登录页面http://localhost:8090/(A接口:登录结果),输入正确的用户名和密码后点击登录后,跳转到页面:http://localhost:8090/WorkflowInstance/indexByOpportunityAndUser (C接口:首页界面接口), 但...原创 2020-07-16 10:49:35 · 2359 阅读 · 0 评论 -
性能测试相关术语及web项目性能通过标准
1、负载:模拟业务操作对服务器造成压力的过程;2、性能测试(Performance Testing):模拟用户负载来测试系统在负载情况下,系统的响应时间、吞吐量等指标是否满足性能要求;3、负载测试(Load Testing):在一定软硬件环境下,通过不断加大负载(不同虚拟用户数)来确定满足性能指标情况下能够承受的最大用户数。简单说,可以帮我们对系统进行定容量,找出系统性能的拐点,给予生产环境规划建议。这里的性能够指标包括TPS(每秒事务数)、RT(事务平均响应时间)、CPU Using(CPU利用率原创 2020-06-29 16:57:52 · 895 阅读 · 0 评论 -
性能测试流程
性能测试常规流程如下图:1、业务学习:通过查看相关文档,手工操作系统来了解系统业务功能;2、需求分析:分析系统非功能需求,圈定性能测试的范围,了解系统性能指标;3、工作评估:工作量分解,评估工作量,计划资源投入(需要多少人力来完成性能测试工作);4、设计模型:圈定性能给测试范围后,把业务模型映射成测试模型; 什么是测试模型呢?通俗说就是性能测试用例设计加上性能测试方案,用例只关注业务,模型还需要关注如何实现,是否具有可操作性,可验证性等问题,最后我们还得根据不同的测试目的组合...原创 2020-06-29 14:16:45 · 249 阅读 · 0 评论 -
Linux下CPU利用率和负载的关系
将自己博客园的文章合并到这里1、CPU利用率和负载CPU利用率显示的是程序在运行期间实时占用的CPU百分比;cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait。CPU负载是指某段时间内占用cpu时间的进程和等待cpu时间的进程数,这里等待cpu时间的进程是指等待被唤醒的进程,不包括处于wait状态进程。CPU利用率高,并不意味着CPU的负载大。两者之间没有必然的关系。无论CPU的利用率是高是低,跟后面有多少任务在排原创 2020-05-09 15:28:09 · 466 阅读 · 0 评论 -
性能测试分析及调优准备
一、执行性能测试的基本原则 原则一:测试前,要确认系统级的关键参数已经基本配置正确(例如:数据库、WEB容器、线程池、JDBC连接池、对象池、JVM、操作系统、应用系统等配置); 原则二:测试前,要确保测试脚本的业务功能运行正确。 原则三:测试前,清空所有应用日志、调高错误日志的输出级别(Error级),必要时在每次测试前重启应用服务和数据库应用服务; 原则四:调整系统参数时,一次只调整一个,不要同时调整多个,并记录调整前后的系统变化。 原则五:优...原创 2020-05-09 15:26:41 · 321 阅读 · 0 评论 -
解读Loadrunner网页细分图(Web Page Diagnostics)
LoadRunner结果分析图表功能中最重要图表分析之一,就是网页细分图。一、启用网页细分图首先在Controller场景设计运行之前,需要在菜单栏中设置Diagnostics->Configuration->-->Web PageDiagnostics中置为Enabled,即该项前打对钩。如果不选中,则场景跑完后,分析结果中网页细分图没有数据。如图:场景运行完后,会分析结果,在HP LoadRunner Analysis 中点击Graph -->Add Ne..原创 2020-05-09 15:25:54 · 1159 阅读 · 0 评论 -
LR性能测试分析流程
把原来博客园上的文章也一并搬到csdn上,方便查阅。一、 判断测试结果的有效性(1)在整个测试场景的执行过程中,测试环境是否正常。(2)测试场景的设置是否正确、合理。(3)测试结果是否直接暴露出系统的一些问题。(4)确定测试结果有效之后,就要对测试数据进行深入的分析。二、 分析思路(1)分析原则:由外到内,由表到里,层层深入。拆分问题,隔离问题;具体的步骤为:先看summary汇总,再逐步看每个事物,最后在精确的去看网页细分图;(2)对于一个应用系统,性能...原创 2020-05-09 15:24:14 · 1627 阅读 · 0 评论 -
常用性能监控工具的使用及配置 - Application Manager(应用性能透视)
1.1. 应用性能透视介绍应用性能管理透视(APM Insight)帮助你从多方位监视应用性能,如事务层、数据库操作、实例概况和应用概况。可以衡量终端用户操作时应用运行情况。帮助你定位应用性能的问题所在,以快速地解决。应用性能透视是如何工作的?你要下载应用性能透视代理,并部署到你的应用中。代理收集应用的性能数据并上传到Applications Manager服务器。上传的信息就会在...原创 2018-04-11 10:47:57 · 5012 阅读 · 0 评论 -
目前使用的性能监控工具及关注指标
由于一些性能问题在日常的系统功能测试中就能突出表现出来,因此在功能测试过程中就进行应用程序的性能监控也很有必要,要求每一个测试负责人在每次测试报告中(系统测试、回归测试、集成测试等)都添加性能监控结果,目前重点主要关注慢事务,错误等,后续随着各个测试负责人对性能指标的深入理解,可以提供更加专业的性能分析及优化建议,避免在系统测试后期才发现性能方面的问题。目前对公司使用的性能监控工具进行了如...原创 2018-04-11 10:43:29 · 1150 阅读 · 0 评论 -
Loadrunner使用代理录制脚本
1、背景: 测试系统需要使用chrome浏览器,但是LR11不支持2、使用LR代理录制的原理: 启动LR代理服务器监听设置好的端口号是否有请求发送给服务器,有请求时,代理服务器接收请求,并转发给对应的系统服务器,LR从而获取到请求的信息与数据,生成脚本。 3、使用代理的前期浏览器设置代理:本机IP与服务器IP在同一网段内。(使用IE的代原创 2017-08-11 09:07:30 · 6141 阅读 · 0 评论