【性能测试】-常见性能测试问题分析(一)

一、常见性能测试问题及其可能诱因

1)执行过程中,响应时间出现拐点,波动大。

  1-JVM执行了GC垃圾回收,造成性能拐点

  2-网络不稳定

2)高并发时,等待超时、连接失败等报错。

 1-连接数设置不足

 2-服务器资源已达到瓶颈

3)内存溢出问题。

 1-JVM内存参数设置过低

 2-程序本身存在内存溢出或内存回收问题


二、性能影响因素

  应用服务器

  数据库服务器

  应用程序代码本身

  服务器硬件及操作系统


三、常见性能影响因数

1)JVM内存设置参数

 1-Tomcat的bin目录下的catalina.bat文件:

     set JAVA_OPTS=
     -Xms6144m                                    Heap Space
     -Xmx6144m 

     -XX:PermSize=512M                     PermGen Space
     -XX:MaxPermSize=1024M     

 2-内存溢出类型  :OutOfMemoryError:java heap size   /    OutOfMemoryError: PermGen space            

题外话:JVM内存分类

新生区:一个Eden Space和两个Survivor Space
养老区:主要是用来存储那些长时间被引用的对象。
永久存储区(Permanent Space ):用来存储一些信息不经常变更的文件,如class对象等


2)连接数、线程数

  MaxThreads:最大并发线程数,即同时处理的任务个数

 【案例分析】 50个严格并发用户(设置集合点)

    MaxThreads=3,事务响应时间:2.6S;

    MaxThreads=50,事务响应时间:0.6S;

在高强度的并发下,如果MaxThreads设置较小,会影响性能,一般需要设置大于最大同时并发请求数。

但是如果设置过高也会影响性能,占用过多的系统资源。

acceptCount:最大排队数,是指当启动的线程数已经达到最大时,接受排队的请求个数

 

条件

结果

情况1

请求数 < MaxThreads

启动一个线程来处理此请求

情况2

MaxThreads < 请求数 < MaxThreads+AcceptCount

把此请求放入等待队列, 等待空闲线程。

情况3

MaxThreads+AcceptCount < 请求数 

直接拒绝此次请求, 返回connection refused


3)网络

   不同网络环境下的结果对比



  • 2
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值