2019独角兽企业重金招聘Python工程师标准>>>

负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。
压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。
 
1.性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。关注点:how much和how fast
2.负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
关注点:how much
3.压力测试(Stress Test): 压力测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。包括:
Spike testing(尖峰冲击测试):短时间的极端负载测试
Extreme testing(极端测试):在过量用户下的负载测试
Hammer testing(锤击测试):连续执行所有能做的操作
 
E.g.举个跑步的例子进行解释。
1.性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准)?
2.负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤……等情况下,你跑100米需要花多少时间?
3.压力测试,是在压力情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间?
 
性能测试是动力,负载测试载重,压力测试强度.

用命令判断几个物理CPU,几个核等:

逻辑CPU个数:
# cat /proc/cpuinfo | grep "processor" | wc -l

物理CPU个数:
# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

每个物理CPU中Core的个数:
# cat /proc/cpuinfo | grep "cpu cores" | wc -l

是否为超线程?
如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。

每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
# cat /proc/cpuinfo | grep "siblings"

但是,这种方法只针对当前进程有效。重新打开一个shell或者开启一个进程,你就会发现参数还是ulimit -n xx修改之前的数字。那么有没有一劳永逸的方法呢?

当然有!那就是修改系统参数。

2、修改linux系统参数。vi /etc/security/limits.conf 添加

*  soft  nofile  65536

*  hard  nofile  65536

修改以后保存,注销当前用户,重新登录,执行ulimit -a ,ok ,参数生效了:

[root @localhost ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 256600
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 256600
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

注:

硬限制表明soft限制中所能设定的最大值。 soft限制指的是当前系统生效的设置值。 hard限制值可以被普通用户降低。但是不能增加。 soft限制不能设置的比hard限制更高。 只有root用户才能够增加hard限制值。

可以最大设到:

655350

http://itindex.net/detail/52084-jmeter-tomcat-%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95

对Tomcat进行调优后再用Jmeter进行测试

1、增加Tomcat对JVM内存的分配:即 调整虚拟内存

Linux:
在/usr/local/tomcat_home/bin目录下的catalina.sh
添加:JAVA_OPTS='-Xms1024m -Xmx2048m'
要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值

Windows:

在catalina.bat最前面加入
set JAVA_OPTS=-Xms1024m -Xmx2048m
如果用startup.bat启动tomcat,OK设置生效。够成功的分配2048M内存.
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,就是说set JAVA_OPTS=-Xms1024m -Xmx2048m没起作用。
windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.。
解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat7\Parameters\JavaOptions
原值为
-Dcatalina.home="C:\ApacheGroup\Tomcat 7.0.42"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 7.0.42\common\endorsed"
-Xrs
加入 -Xms1024m -Xmx2048m
重起tomcat服务,设置生效

2、修改线程池并将默认的8080端口修改为9999端口。

即将默认的

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

修改为:

<Connector port="9999" redirectPort="8443"    
   maxHttpHeaderSize="8192" useBodyEncodingForURI="true"    
   minProcessors="100" maxProcessors="5000"    
   maxThreads="5000" minSpareThreads="1000" maxSpareThreads="4000"    
   enableLookups="false" acceptCount="3500"    
   compression="on" compressionMinSize="2048"    
   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"    
   connectionTimeout="60000" disableUploadTimeout="true" debug="0" URIEncoding="UTF-8"/>

3. 禁用DNS查询

 当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭 DNS查询,方式是修改server.xml文件中的enableLookups参数值: 将其设置为false。

4、修改完后,重启tomcat。

5、在Jmeter的Thread Group中将上面的8080改成9999.

6、重新执行Jmeter,执行10分钟后,保存执行结果,得到如下的执行结果:

catalina.out文件会越来越大,对系统的稳定造成了一定的影响。conf/logging.properties
一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响。
可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。
1    catalina.org.apache.juli.FileHandler.level = WARNING
2    catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3    catalina.org.apache.juli.FileHandler.prefix = catalina.
将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。
一般日志的级别有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

转载于:https://my.oschina.net/kenzheng/blog/548534

jmeter 及测试相关推荐

  1. 【软件测试培训】了解jmeter分布式测试

    一提到分布式测试,大家肯定会觉得,哇!好高大上,一定很高深的吧,这里老师推出不做傻白甜系列文章,带同学们一步一步理解jmeter的分布式测试. 首先我们来看下jmeter自动化测试的流程 ,见如下图1 ...

  2. Jmeter --- 分布式测试

    在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...

  3. JMeter学习笔记--JMeter常用测试元件

    JMeter测试计划有一个被称为"函数测试模式"的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如 ...

  4. 接口测试工具-Jmeter压力测试使用

    接口测试工具-Jmeter压力测试使用 官方描述:jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jm ...

  5. jmeter分布式测试配置

    jmeter分布式测试 说明:1台8核16G的windows2008的机器,只能器6000个线程,否则效果不是很好:并且负载机器需要做如下设置: 1.打开注册表:regedit 2.HKEY_LOCA ...

  6. Jmeter远程测试

    11.3 详解JMeter远程测试(1) 2012-04-09 09:14 温素剑 电子工业出版社 字号:T | T 综合评级: 想读(7)  在读(2)  已读(0)   品书斋鉴(0)   已有9 ...

  7. JMeter web 测试

    2019独角兽企业重金招聘Python工程师标准>>> JMeter web 测试 http://jmeter.apache.org/usermanual/build-web-tes ...

  8. 使用badboy录制脚本 结合Jmeter一起测试。

    1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的.Badboy提供了将 ...

  9. jmeter负载测试测试_使用Apache JMeter负载测试Web应用程序

    jmeter负载测试测试 Apache JMeter是用于模拟Web应用程序上的用户负载以测试性能的出色工具. 您可以通过指定用户数量和请求间隔来轻松地构建测试计划,然后JMeter将为每个用户生成一 ...

  10. jmeter负载测试测试_Apache JMeter:随心所欲进行负载测试

    jmeter负载测试测试 这是有关使用Apache JMeter进行负载测试的第二篇文章,请在此处阅读第一篇文章: 有关对关系数据库进行负载测试的分步教程. JMeter有很多采样器 . 如果您需要J ...

最新文章

  1. 让Centos5.6的Firefox支持Java
  2. velocity.js 动画插件
  3. python~爬虫~1
  4. linux tar zcf打包时注意事项
  5. OpenCV文字绘制支持中文显示
  6. 微软Azure AspNetCore微服务实战第2期(内附PPT下载)
  7. Linux C 数据结构---单向链表
  8. 借助datetime和pyttsx3在Python中创建闹钟
  9. bootstrap1
  10. 数据结构与算法之-----总览
  11. python输出para关键词占比_使用python操作word
  12. ping首包慢的问题(及icmp对应关系)
  13. Linux下pip安装教程
  14. win10计算机未连接到网络适配器,Windows 10 Hyper-V网络适配器未连接
  15. 最短公共超序列(最短公共父序列)
  16. 魔兽世界az端和TC端有什么区别 Mangos,TC,SW,AZ,AC的关系
  17. 为什么百度搜索引擎优化比以前更难?
  18. 基于CNN实现垃圾分类案例
  19. zeppelin入门使用
  20. Qt打开图片,维持原宽高比,适应窗口

热门文章

  1. 最新nacos安装教程(windows版)
  2. PDF 与 Word互转工具。 在线的 和安装软件
  3. vue打包放到Java项目里_【vue】webpack打包vue项目并且运行在Tomcat里面
  4. 淮阴工学院计算机专业的考研率,淮阴工学院江淮学院(淮阴工学院考研录取率)...
  5. 中公事业单位计算机模拟试题,事业单位考试计算机基础知识模拟试题汇总—单选题(2)...
  6. 线程池框架-Executor
  7. pl/sql连接Oracle数据库的方式
  8. 赣南师范大学科技学院计算机科学与技术,2021江西独立学院转设最新消息(新增两所):赣南师范大学科技学院转设公办?...
  9. mysql 数据库表重建_mysql 数据库表重建
  10. android 内存溢出检查,Android Handler使用导致内存溢出附带LeakCanary排查