随笔分类 - 性能测试
摘要:现象: (1)压测进行一段时间后,程序停顿,报超时错误。但这种现象并不一定就是线程死锁造成的,也可能是数据库/中间件连接池被占满、数据库死锁造成的。 (2)能够打开页面,但获取不到数据 排查手段: (1)使用jstack命令查看Java进程下所有线程的情况:jstack -l 进程号 (2)如果有B
阅读全文
摘要:1. 堆内存溢出 内存溢出主要存在问题就是出现在这个情况中。当在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。 现象: (1)压测执行一段时间后,系统处理能力下降。这时用JConsole、JVisualVM等工具连上服务器查看GC情况,每次GC回收都
阅读全文
摘要:1.堆内存和非堆内存组成 堆内存:分为年轻代和老年代 年轻代:Eden区和两个存活区 Q:为什么对堆要分年轻代,老年代,伊甸园区,存活区? A:减少FGC的频率,减少程序暂停的时间,提高性能,如果不分区,很快堆内存满了就会触发GC,对整个堆进行垃圾回收,而堆内存较大,会耗费很长时间,程序暂停时间过长
阅读全文
摘要:问题:CPU偏高是什么原因?怎么分析? CPU偏高分为:System的CPU偏高和UseCPU偏高。 1、use cpu高 现象:压测过程中,使用top命令查看系统资源占用情况,us cpu过高,超过50%以上。 原因:UseCPU偏高说明应用程序本身比较繁忙 排查手段: (1)使用top命令是哪个
阅读全文
摘要:负载 对被测系统不断施加压力,直到性能指标超过预期或某项资源使用达到饱和,以验证系统的处理极限,为系统性能调优提供依据; 并发 ①狭义上的并发:所有用户在同一时间点进行同样的操作,一般指同一类型的业务场景,比如1000个用户同时登陆系统; ②广义上的并发:多个用户与系统发生了交互,这些业务场景可以是
阅读全文
摘要:TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位。 下面就说说压测中为什么TPS上不去的原因: 1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽
阅读全文
摘要:顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slowquery,通过设--log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名。慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容。其中记录了语句执行的时刻,执行所消
阅读全文
摘要:复制解决的基本问题是让一台服务器的数据和其他服务器保持同步。一台主服务器的数据可以同步到多台从服务器上。并且从服务器也可以被配置为另外一台服务器的主库。主库和从库之间可以有多种不同的组合方式。 MySQL支持两种复制方案:基于语句的复制(statement-based replication)和基于
阅读全文
摘要:一、mysql的连接数 MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,连接数少的话,在大并发下连接数会不够用,会有很多线程在等待其他连接释放,就可能会导致数据库连接超时或者响应时间过长,所以需要调整最大连接数。 1、设置mysql的最大连接
阅读全文
摘要:Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”。 select next row:Sequential , Random,unique 2.更新值时分为“每次迭代”“每次更新”“仅一次”。 update value on:Each iteration ,Ea
阅读全文
摘要:Spotlight on unix监控linux服务器 1.下载安装,工具包下载地址: 注:安装之后需要破解注册码 2.由于spotlight不能默认使用root用户登录,所以必须先创建一个具有root权限的用户 注:密码最好不要设置的过于简单化 3.检查linux有没有安装sysstat (1)检
阅读全文
摘要:一、下载Nmon 根据CPU的类型选择下载相应的版本: http://nmon.sourceforge.net/pmwiki.php?n=Site.Downloadwget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12
阅读全文
摘要:sar 是非常强大性能分析命令,通过 sar 命令可以全面的获取系统的 CPU、运行队列、磁盘 I/O、交换区、内存、 cpu 中断、网络等性能数据。sar 命令行的常用格式:sar [options] [-A] [-o file] t [n]在命令行中, n 和 t 两个参数组合起来定义采样间隔和
阅读全文
摘要:vmstat可以对操作系统的内存信息、进程状态、 CPU 活动、磁盘等信息进行监控, 不足之处是无法对某个进程进行深入分析。 2表示每个两秒采集一次服务器状态,1表示只采集一次。 实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了,例如: 这表示vmstat每2秒采
阅读全文
摘要:iostat用于输出CPU和磁盘I/O相关的统计信息 命令格式 iostat各个参数的说明 iostat的简单使用 解释一下各个输出项的含义: 入门使用 参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。
阅读全文
摘要:pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 实例讲解 默认参数 执
阅读全文
摘要:如果你的Linux服务器突然负载暴增,如何在最短时间内找出Linux性能问题所在? 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。 uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -
阅读全文