摘要:一、命令说明 ps 命令是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的。 二、参数说明 ps a: 显示现行终端机下的所有程序,包括其他用户的程序。 ps
阅读全文
摘要:一、命令说明 lsof 命令的原始功能是列出打开的文件的进程,但LINUX 下,所有的设备都是以文件的行式存在的,所以,lsof 的功能很强大。 二、参数说明 -a :列出打开文件存在的进程 -c<进程名> :列出指定进程所打开的文件 -g :列出GID 号进程详情 -d<文件号> :列出占用该文件
阅读全文
摘要:一、命令介绍 strace 常用来跟踪进程执行时的系统调用和所接收的信号。在Linux 世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace 可以跟踪到一个进程产生的系统调用,包括参数
阅读全文
摘要:一、命令说明 netstat 命令用于显示本机网络连接、运行端口、路由表等信息 二、参数说明 -a (all):显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TI
阅读全文
摘要:一、命令说明 free 命令显示系统内存的使用情况:包括物理内存、交换内存(swap)和内核缓冲区内存 二、参数说明 -b -k -m -g:分别以字节、KB、MB、GB为单位显示内存使用情况 -l:显示详细的低内存和高内存统计信息 -o:不显示-/+ buffers/cache这一行 -t:显示内
阅读全文
摘要:一、命令说明 top 命令能够实时监控系统的运行状态,并且可以按照CPU、内存和执行时间进行排序,同时top 命令还可以通过交互式命令进行设定显示,通过top 命令可以查看即时活跃的进行。 二、参数说明 -b:批次模式运行。通常用作来将top 的输出的结果传送给其他程式或储存成文件 -c:显示执行任
阅读全文
摘要:一、使用说明 iostat 是对系统的磁盘I/O 操作进行监控,它的输出主要显示磁盘读写操作的统计信息,同时给出CPU 的使用情况。同vmstat 一样,iostat 不能对某个进程进行深入分析,仅对操作系统的整体情况进行分析。 二、参数说明 -c:显示CPU统计信息,与-d选项互斥 -d:显示磁盘
阅读全文
摘要:一、使用说明 sar 是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 二、参数说明 -A:所有报告的总和 -u:显示CPU使用情况的统计信息 -v:
阅读全文
摘要:一、使用说明 vmstat 可以对操作系统的内存信息、进程状态、CPU 活动、磁盘等信息进行监控,不足之处是无法对某个进程进行深入分析。 二、用法及参数说明 -a:显示活跃和非活跃内存 -f:显示从系统启动至今的fork数量 -m:显示slabinfo -n:只在开始时显示一次各字段名称 -s:显示
阅读全文
摘要:一、内存溢出 1、堆内存溢出 现象: (1)压测执行一段时间后,系统处理能力下降。这时用JConsole、JVisualVM等工具连上服务器查看GC情况,每次GC回收都不彻底并且可用堆内存越来越少。 (2)压测持续下去,最终在日志中有报错信息:java.lang.OutOfMemoryError.J
阅读全文
摘要:一、JVM常见参数配置 堆内存相关参数 并行收集器相关参数 选择垃圾收集器为并行收集器.此配置仅对年轻代有效.即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集.(此项待验证) CMS相关参数 辅助信息 输出形式: [GC 118250K->113543K(130112K), 0.00941
阅读全文
摘要:一、简介 JProfiler是一款Java的性能监控工具。可以查看当前应用的对象、对象引用、内存、CPU使用情况,线程运行情况(阻塞、等待等),同时可以查找哪个对象占用的内存比较多、哪个对象占用CPU处理的时间比较多 二、配置 通过JProfiler远程连接服务器监控JVM,需要在被监控的服务器上t
阅读全文
摘要:一、简介 JVisualVM是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(bin/jvisualvm.exe),能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的
阅读全文
摘要:一、简介 JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具。下面以对tomcat的监控为例,带领大家熟悉JConsole这个工具。 二、配置 通过JConsole远程连接服务器监控JVM,需要在被监控的服务器上tomcat的启动文件catal
阅读全文
摘要:1、jdb(The Java Debuger) jdb 用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。 现在应该说日常的开发中很少用到JDB了,因为现在
阅读全文
摘要:一、JVM简介 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是跨平台性。而使用Java虚拟机是实现这一特点的关键。一般的高
阅读全文
摘要:一、tomcat介绍 Tomcat服务器是一个免费的开放源代码的轻量级Web 应用服务器,如apache处理静态HTML能力突出不同,tomcat处理动态HTML能力相当强大,因此一般项目都是部署apache+tomcat,由apache处理程序的静态文件,有tomcat处理JSP页面和Servle
阅读全文
摘要:一、apache ab简介 ab全称ApacheBench,是著名的Web服务器软件apache附带的一款非常简单的压力测试工具,它可以同时模拟多个并发请求,测试Web服务器最大承受压力。Apache的下载地址为:http://tomcat.apache.org/。 二、apache ab路径 Li
阅读全文
摘要:一、简介 WebBench是一款在Linux下使用非常简单的压力测试工具。它的原理是:WebBench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果。Webbench最多可以模拟3万个并发连接去测试网站的负载能力。 二、安
阅读全文
摘要:apache是一款对静态资源处理得比较好的中间件,但是对动态请求处理得不是很好,tomcat则正好相反。 apache运用得比较多得工作模式主要是Prefork和Worker两种模式 1、Prefork模式 Prefork模式是进程工作模式,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定
阅读全文
摘要:一、配置文件存放位置 apache配置文件名为httpd.conf 1、yum安装 yum安装后,apache配置文件httpd.conf存放在目录/etc/httpd/conf下 2、源码编译安装 源码安装一般指定位置,是在安装目录下的conf目录下 二、配置文件内容 1、yum安装 Server
阅读全文
摘要:一、apache运行模式切换 apache比较常用的工作模式有worker以及prefork两种方式 1、编译安装: 如果在编译时候不指定,系统默认的是prefork模式。如果需要换成worker模式,需要在编译的时候带上编译参数:--with-mpm=worker 查看apache用的是那种工作模
阅读全文
摘要:我们可以通过事物的响应时间作为基础来分析: 响应时间=网络的延迟时间+应用的延迟时间+数据库的延迟时间 数据流转详细过程: 1、从客户端(负载机)发起请求,通过网络传输到Web应用服务器。 2、Web应用服务器收到请求后,不会马上处理,找到空闲的进程/线程,再进行应用程序的处理。比如说数据库的DML
阅读全文
摘要:一、什么是检查点 LoadRunner中检查点是用来判断脚本是否执行成功的。如果不加检查点,只要服务器返回的HTTP状态码是200,VuGen就认为脚本执行通过了。但是很多情况下服务器返回200并不代表脚本执行通过了,比如:登录操作,登录失败服务器返回的也是200,但是实际上它是执行失败了。所以在脚
阅读全文
摘要:一、为什么要进行参数化 LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入。这时,在LoadRunner中就可以进行参数化设置,以使用多个不同
阅读全文
摘要:一、什么是关联 关联就是将服务器动态返回变化的值保存为一个参数以供后面需要用到的地方使用。 二、什么时候需要关联 1、服务器返回中存在动态变化的值,一般是类似session、token这样的无规则数据 2、后续操作需要使用到之前的数据 3、运行之后没有报错,也没有产生任何数据 三、如何查找关联 1、
阅读全文
摘要:一、LoadRunner11安装 以管理员身份运行setup.exe 选择第一个LoadRunner完整安装程序 按照界面会弹出以上提示框,直接选择否 检查系统缺少哪些组件,点击“确定”自动安装 点击下一步 选中“我同意”并点击下一步 输入姓名和组织,点击下一步 选择安装路径后,点击下一步 点击下一
阅读全文
摘要:在被测接口并没有明确的接口文档给出时,我们需要借助抓包工具来帮助测试,利用抓包工具我们几乎可以获得接口文档中能给你的一切。常见的抓包工具有Charles和Fiddler, Fiddler只能用在Windows平台, 而Charles可用于Windows, Mac, IOS和Android多平台。下面
阅读全文
摘要:一、为什么要进行分布式部署Jmeter 对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能。 以下参数分析可用于配置负载分布台数的参考:通常,4G内存最多可达到2000左右的并
阅读全文
摘要:一、应用场景 日常测试过程中发现,在大数量并发时,jmeterGUI界面经常宕机、卡死,在这种情况下我们就需要使用命令行来执行脚本了(非GUI模式)。 二、命令行模式优点 1、节约系统资源,无需启动界面 2、便捷快速:仅需启动命令行,输入命令便可执行 3、易于持续集成:可通过shell脚本命令执行
阅读全文
摘要:一、测前准备 使用Jmeter做压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景。针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个接口共同作用。 压测时间设定 通常时间设为10 – 15 分钟,如果涉及疲劳测试的话时间可根据实际情
阅读全文
摘要:Jmeter提供的定时器类型 固定定时器 高斯随机定时器 Uniform Random Timer Synchronizing Timer Poisson Random Timer JSR223 Timer Constant Throughput Timer BeanShell Timer 固定定时
阅读全文
摘要:检查点 Jmeter中检查点也叫断言,Jmeter中有很多类型的断言,但是最常用的是响应断言,即根据服务器返回的结果来判断测试是否通过。 响应断言 添加断言结果用于运行完毕后查看结果 测试通过 测试不通过
阅读全文
摘要:集合点: 虽然我们对性能测试理解为多用户并发测试,但真正做到完全的并发是不存在的,为了更真实的实现并发这概念,我们可以在需要压力的地方设置集合点,等到所有用户都准备好时,一起发送请求。 Jmeter中的集合点通过添加定时器中的Synchronizing Timer来完成 1、添加Synchroniz
阅读全文
摘要:一、什么时候需要关联 1、服务器返回中存在动态变化的值,一般是类似session的无规则数据 2、后面的操作或请求需要用到前面的请求返回的值 3、脚本运行之后没有报错,也没有产生什么数据 Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联 二、如何查找关联 1、Hidden标签 2
阅读全文
摘要:一、参数化 1、指定参数值 这种方法常用来解决线程组中多个请求共用相同的数据,比如我们所有请求都可能有相同的IP地址,当地址改变时可以一改全改。 添加用户定义的变量,右击线程组->添加->配置元件->用户定义的变量; 打开用户定义的变量,添加变量,写好名称和值 脚本中用到该值的所有地方都可以引用这个
阅读全文
摘要:使用Jmeter测试WebService接口,可以借助SoapUI来完成。 1、SoapUI里面的操作: Wsdl文件或链接导入或添加到SoapUI打开待测请求;运行请求;取URL SOAPAction 、报文。 2、JMeter里面的操作: 为线程组添加SOAP/XML-RPC Rquest ,右
阅读全文
摘要:1、在测试计划中添加jar包 用于连接MySQL,需要注意版本问题。 2、线程组添加 JDBC Connection Configuration (添加->配置元件-> JDBC Connection Configuration)用于配置Jmeter和Mysql的连接 线程池配置: Max Numb
阅读全文
摘要:一、工具说明 Jmeter是一款开源的桌面应用软件,可以用于进行接口测试和性能测试。因为该软件是开源的,所以更具扩展性。Jmeter可以对Web应用进行测试,另外还支持Java请求、Webservices、JDBC、FTP、Junit、LDAP、Socket等协议。另外,Jmeter也很方便用来进行
阅读全文