精华内容
下载资源
问答
  • WebSocket压力并发测试v1.1.2,主要用于测试并发连接数的
  • WebSocket压力并发测试v1.0.4,测试websocket并发数据。
  • WebSocket压力并发测试工具
  • PHP ab 压力并发测试

    2020-06-05 10:11:36
    PHP ab 压力并发测试 PHP接口并发测试的方法 系统:Ubuntu18.04 安装ab测试工具 如果没安装,输入ab -v,根据提示安装 sudo apt install apache2-utils 验证是否安装成功,输入ab -v命令,出现以下内容代表安装成功 ...

    PHP ab 压力并发测试

    PHP接口并发测试的方法

    系统:Ubuntu18.04

    安装ab测试工具
    如果没安装,输入ab -v,根据提示安装
    在这里插入图片描述
    sudo apt install apache2-utils
    在这里插入图片描述
    验证是否安装成功,输入ab -v命令,出现以下内容代表安装成功

    在这里插入图片描述
    开始测试
    ab -n 1000 -c 100 local.meiricp.admin.cn/goods/goods/list
    -n:请求次数
    -c:并发数

    This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    Benchmarking local.meiricp.admin.cn (be patient)
    Completed 100 requests
    Completed 200 requests
    Completed 300 requests
    Completed 400 requests
    Completed 500 requests
    Completed 600 requests
    Completed 700 requests
    Completed 800 requests
    Completed 900 requests
    Completed 1000 requests
    Finished 1000 requests

    Server Software: nginx #被测试服务器软件名称
    Server Hostname: local.meiricp.admin.cn #被测试域名
    Server Port: 80 #端口

    Document Path: /goods/goods/list #请求的URL中的根绝对路径
    Document Length: 97 bytes #页面的大小

    Concurrency Level: 100 #并发数
    Time taken for tests: 6.703 seconds #整个测试消耗
    Complete requests: 1000 #总共完成的请求数
    Failed requests: 0 #请求失败次数
    Total transferred: 621000 bytes #测试过程中产生的网络传输总量
    HTML transferred: 97000 bytes #测试过程中产生的HTML传输量
    Requests per second: 149.20 [#/sec] (mean) #表示服务器吞吐量,每秒事务数,括号中的 mean 表示这是一个平均值
    Time per request: 670.261 [ms] (mean) #表示用户请求的平均响应时间,后面括号中的mean表示这是一个平均值
    Time per request: 6.703 [ms] (mean, across all concurrent requests) #表示服务器请求平均处理时间,即实际运行时间的平均值
    Transfer rate: 90.48 [Kbytes/sec] received #表示这些请求在单位时间内从服务器获取的数据长度,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

    Connection Times (ms)
    min mean[+/-sd] median max #min最小值、mean平均值、[+/-sd]方差、median中位数、maxz最大值
    Connect: 0 2 5.1 0 18 #socket链路建立消耗
    Processing: 50 639 114.7 659 783 #写入缓冲区消耗+链路消耗+服务器消耗
    Waiting: 50 639 114.8 659 783 #写入缓冲区消耗+链路消耗+服务器消耗+读取数据消耗
    Total: 67 641 110.8 660 783 #单个事务总时间

    Percentage of the requests served within a certain time (ms)
    50% 660
    66% 670
    75% 679
    80% 686
    90% 717
    95% 737
    98% 749
    99% 757
    100% 783 (longest request)

    展开全文
  • 压力并发测试.rar

    2019-05-21 16:09:13
    用于网站的压力测试,提高网站性能并发性能,欢迎下载
  • ApacheBench测试,ab.exe纯文件,省去配置apache麻烦。
  • 由于这两天在写服务端控制用户并发数,所以查阅了下这个工具ab的用法介绍通过上面的用法介绍可以得知,ab的使用方法就是输入如下DOS命令:ab [可选的参数选项] 需要进行压力测试的url此外,我们再根据上面的用法介绍...

    由于这两天在写服务端控制用户并发数,所以查阅了下这个工具



    ab的用法介绍

    通过上面的用法介绍可以得知,ab的使用方法就是输入如下DOS命令:

    ab [可选的参数选项] 需要进行压力测试的url

    此外,我们再根据上面的用法介绍界面来详细了解每个参数选项的作用。

    -n
    即requests,用于指定压力测试总共的执行次数。
    -c
    即concurrency,用于指定压力测试的并发数。
    -t
    即timelimit,等待响应的最大时间(单位:秒)。
    -b
    即windowsize,TCP发送/接收的缓冲大小(单位:字节)。
    -p
    即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。
    -u
    即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。
    -T
    即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain
    -v
    即verbosity,指定打印帮助信息的冗余级别。
    -w
    以HTML表格形式打印结果。
    -i
    使用HEAD请求代替GET请求。
    -x
    插入字符串作为table标签的属性。
    -y
    插入字符串作为tr标签的属性。
    -z
    插入字符串作为td标签的属性。
    -C
    添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。
    -H
    添加任意的请求头,例如:"Accept-Encoding: gzip",请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。
    -A
    添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。
    -P
    添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。
    -X
    指定使用的代理服务器和端口号,例如:"126.10.10.3:88"。
    -V
    打印版本号并退出。
    -k
    使用HTTP的KeepAlive特性。
    -k
    使用HTTP的KeepAlive特性。
    -d
    不显示百分比。
    -S
    不显示预估和警告信息。
    -g
    输出结果信息到gnuplot格式的文件中。
    -e
    输出结果信息到CSV格式的文件中。
    -r
    指定接收到错误信息时不退出程序。
    -h
    显示用法信息,其实就是ab -help

    一般情况下使用ab -n 数字 -c 数字 url路径的命令即可

    如,我们对位于本地Apache服务器上、URL为

    local.api.com/v1/s=asraFX8FXoGqcrNO6yqsnUxWlvVoZp00000290ff的页面进行压力测试

    测试总次数为100,并发数为20(相当于20个用户同时访问,他们总共访问100次)。

    我们在终端输入,打印结果如下:




    上面的测试压力还小,服务器能抗住,下面试试比较大的 Apache直接决绝访问




    下面附加一些觉得比较好的资料


     4、性能指标
      在进行性能测试过程中有几个指标比较重要:
      1)、吞吐率(Requests per second)
      服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
      记住:吞吐率是基于并发用户数的。这句话代表了两个含义:
      a、吞吐率和并发用户数相关
      b、不同的并发用户数下,吞吐率一般是不同的
      计算公式:总请求数/处理完成这些请求数所花费的时间,即
      Request per second=Complete requests/Time taken for tests
      必须要说明的是,这个数值表示当前机器的整体性能,值越大越好。
      2)、并发连接数(The number of concurrent connections)
      并发连接数指的是某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。
      3)、并发用户数(Concurrency Level)
      要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。在HTTP/1.1下,IE7支持两个并发连接,IE8支持6个并发连接,FireFox3支持4个并发连接,所以相应的,我们的并发用户数就得除以这个基数。
      4)、用户平均请求等待时间(Time per request)
      计算公式:处理完成所有请求数所花费的时间/(总请求数/并发用户数),即:
      Time per request=Time taken for tests/(Complete requests/Concurrency Level)
      5)、服务器平均请求等待时间(Time per request:across all concurrent requests)
      计算公式:处理完成所有请求数所花费的时间/总请求数,即:
      Time taken for/testsComplete requests
      可以看到,它是吞吐率的倒数。
      同时,它也等于用户平均请求等待时间/并发用户数,即
      Time per request/Concurrency Level
      附录:
      1、使用post方式发送数据才需要一个文件保存数据,假如使用get方式发送数据,直接将数据放在后面即可,如携带tokenId参数
      ab -n 100   http://localhost:8080/admin/auth/quickAuth?tokenId=1111
      2、post 发送一个 json格式数据
      ab -p C:/Users/zcr/Desktop/postjson.txt -T application/json -c 10 -n 2000 http://172.18.97.17:8080/admin/auth

    展开全文
  • 使用Jmeter进行http接口性能测试 软件下载地址 下完完毕解压 这里可以选择中文 ...1.首先呢 需要创建一个测试计划 ...Ramp-up时间 就是你发起连接数 的间隔时间 当值为 0 的时候 就是并发 循环次数 ...

    使用Jmeter进行http接口性能测试

    软件下载地址

    下完完毕解压

     这里可以选择中文

     

     1.首先呢 需要创建一个测试计划

    2. Ctrl+s 保存一下这个计划

    3.添加一个线程组

    在线程组里面设置个数

     线程数 就是 你要发起的连接请求 个数

     Ramp-up时间 就是你发起连接数 的间隔时间 当值为 0 的时候 就是并发

     循环次数

     

    4 在线程组里添加 Http请求默认值

    如果你的请求 头里面有修改过值 还需要添加 Http信息头管理器

     

    5.在线程组里添加 Http 请求

    6.线程组继续添加  查看结果树  图形结果  聚合报告

     

     

    Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
    
    #Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
    
    Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
    
    Median:中位数,也就是 50% 用户的响应时间
    
    90% Line:90% 用户的响应时间
    
    Note:关于 50% 和 90% 并发用户数的含义,请参考下文
    
    http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
    
    Min:最小响应时间
    
    Max:最大响应时间
    
    Error%:本次测试中出现错误的请求的数量/请求的总数
    
    Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
    
    KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

     

    都添加完了我们 修改下数据

    
    样本数目:总共发送到服务器的请求数.
    最新样本:代表时间的数字,是服务器响应最后一个请求的时间.
    吞吐量:服务器每分钟处理的请求数.
    平均值:总运行时间除以发送到服务器的请求数.
    中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值.
    偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布.

     

    展开全文
  • 毕竟,真金不怕火炼,只要配置优化合理、程序代码运行性能良好、硬件撑得住,通过压力测试我们就能看到一个喜人的成绩。话又说回来,即使测试结果差强人意或者糟糕透了,我们也可以好好反思并找到「问题出在哪里」。...

     

    当你使用PHP(或其他编程语言)完成一个web程序的开发,并且web程序在Apache服务器上正常运行的时候,你有没有考虑过对你的Apache服务器及部署在其上的web程序进行一些压力测试呢?毕竟,真金不怕火炼,只要配置优化合理、程序代码运行性能良好、硬件撑得住,通过压力测试我们就能看到一个喜人的成绩。话又说回来,即使测试结果差强人意或者糟糕透了,我们也可以好好反思并找到「问题出在哪里」。说了这么多废话,其实就是想告诉你一句:对服务器以及网站程序进行压力测试还是很有必要的。

    要对Apache及其上的web程序进行压力测试其实非常简单,我们也不用再额外下载安装什么测试工具,因为Apache HTTP Server已经给我们准备了一个压力测试工具——ab。

    ab,即Apache Benchmark,只要我们安装了Apache,就能够在Apache的安装目录中找到它。它的居住地址是Apache安装目录/bin/ab.exe。现在,我们就来看看如何使用ab.exe来进行压力测试。

    在使用之前我们先来学习一下ab的用法。首先,我们输入cmd打开DOS窗口,然后将更改当前工作目录为:Apache安装目录/bin/。然后键入帮助命令ab -help(或者ab /?ab -h),我们就可以看到如下的用法介绍界面。

    常用命令 : ab -n 1000 -c 10 127.0.0.1/index.php //使用绝对路径! 1000次访问并发量为 10 

    ab的用法介绍

    通过上面的用法介绍可以得知,ab的使用方法就是输入如下DOS命令:

    ab [可选的参数选项] 需要进行压力测试的url

    此外,我们再根据上面的用法介绍界面来详细了解每个参数选项的作用。

    -n

    即requests,用于指定压力测试总共的执行次数。

    -c

    即concurrency,用于指定压力测试的并发数。

    -t

    即timelimit,等待响应的最大时间(单位:秒)。

    -b

    即windowsize,TCP发送/接收的缓冲大小(单位:字节)。

    -p

    即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。

    -u

    即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。

    -T

    即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain

    -v

    即verbosity,指定打印帮助信息的冗余级别。

    -w

    以HTML表格形式打印结果。

    -i

    使用HEAD请求代替GET请求。

    -x

    插入字符串作为table标签的属性。

    -y

    插入字符串作为tr标签的属性。

    -z

    插入字符串作为td标签的属性。

    -C

    添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。

    -H

    添加任意的请求头,例如:"Accept-Encoding: gzip",请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。

    -A

    添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。

    -P

    添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。

    -X

    指定使用的代理服务器和端口号,例如:"126.10.10.3:88"。

    -V

    打印版本号并退出。

    -k

    使用HTTP的KeepAlive特性。

    -k

    使用HTTP的KeepAlive特性。

    -d

    不显示百分比。

    -S

    不显示预估和警告信息。

    -g

    输出结果信息到gnuplot格式的文件中。

    -e

    输出结果信息到CSV格式的文件中。

    -r

    指定接收到错误信息时不退出程序。

    -h

    显示用法信息,其实就是ab -help

    虽然ab可以配置的参数选项比较多,但是,一般情况下我们只需要使用形如ab -n 数字 -c 数字 url路径的命令即可。譬如,我们对位于本地Apache服务器上、URL为localhost/index.php的页面进行压力测试。测试总次数为1000,并发数为100(相当于100个用户同时访问,他们总共访问1000次)。我们输入DOS命令ab -n 1000 -c 100 localhost/index.php,打印结果如下:

    F:\Apache2.2\bin>ab -n 1000 -c 100 localhost/index.php
    This is ApacheBench, Version 2.3 <$Revision: 655654 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking localhost (be patient)
    Completed 100 requests
    Completed 200 requests
    Completed 300 requests
    Completed 400 requests
    Completed 500 requests
    Completed 600 requests
    Completed 700 requests
    Completed 800 requests
    Completed 900 requests
    Completed 1000 requests
    Finished 1000 requests
    
    
    Server Software:        Apache/2.2.25 (服务器软件名称及版本信息)
    Server Hostname:        localhost (服务器主机名)
    Server Port:            80 (服务器端口)
    Document Path:          /index.php (供测试的URL路径)
    Document Length:        10 bytes (供测试的URL返回的文档大小)
    Concurrency Level:      100 (并发数)
    Time taken for tests:   0.247 seconds (压力测试消耗的总时间)
    Complete requests:      1000 (压力测试的总次数)
    Failed requests:        0 (失败的请求数)
    Write errors:           0 (网络连接写入错误数)
    Total transferred:      198000 bytes (传输的总数据量)
    HTML transferred:       10000 bytes (HTML文档的总数据量)
    Requests per second:    4048.34 [#/sec] (mean) (平均每秒的请求数)
    Time per request:       24.701 [ms] (mean) (所有并发用户(这里是100)都请求一次的平均时间)
    Time per request:       0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间)
    Transfer rate:          782.78 [Kbytes/sec] received (传输速率,单位:KB/s)
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0    0   0.3      0       1
    Processing:     6   23   4.2     24      30
    Waiting:        5   20   5.3     21      29
    Total:          6   23   4.2     24      30
    
    Percentage of the requests served within a certain time (ms)
      50%     24
      66%     25
      75%     26
      80%     26
      90%     27
      95%     27
      98%     28
      99%     29
     100%     30 (longest request)

    在上面的测试中,我们设置的压力测试总次数以及并发数并没有让服务器感觉到什么「压力」,现在我们再来看一个「压力山大」的执行命令:ab -n 100000 -c 1000 localhost/index.php,这个时候apache就直接罢工——拒绝访问了:

    F:\Apache2.2\bin>ab -n 100000 -c 1000 localhost/index.php
    This is ApacheBench, Version 2.3 <$Revision: 655654 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking localhost (be patient)  
    Test aborted after 10 failures
    apr_socket_connect(): 由于目标计算机积极拒绝,无法连接。   (730061)

    注意:在上面的压力测试中,Apache使用的是默认配置,并没有经过任何优化措施处理。实际上,Apache在经过配置优化后,只要服务器硬件够用,Apache服务器是能够撑起1000的并发量的。

    测试redis的并发

    <?php
        $redis = new redis();
        $redis->connect('127.0.0.1', 6379);
    
        $time = date("Ymd H:i:s");
        $redis->rpush('list1', $time);
       
        echo "队列总长度:".$redis->lLen('list1');
        echo "<br/>";
        
       /* 
        while (true) { //出对
            $get = $redis->lpop('list');
            if ($get) {
                echo '出队列--' . $get;
                echo '<br/>';
            } else {
                echo '出队完成';
                return false;
            }
        
        }*/

    转自:https://www.cnblogs.com/wtcl/p/6795740.html

    展开全文
  • 毕竟,真金不怕火炼,只要配置优化合理、程序代码运行性能良好、硬件撑得住,通过压力测试我们就能看到一个喜人的成绩。话又说回来,即使测试结果差强人意或者糟糕透了,我们也可以好好反思并找到「问题出在哪里」。...
  • 最近需要测试一下服务器的并发能力是多少,来判断最近举行的活动是否能够承受住,因此,用jmeter压力测一下。 1.安装java,配置java,下载jmeter https://jmeter.apache.org/download_jmeter.cgi 2.修改语言,...
  • 只是知道Redis做缓存很快,并发很高。 官网其实已经给出了压测教程和基准的压测数据,传送门: https://redis.io/topics/benchmarks 单机压测 我本地试了一下 环境:windows10 64位、i5 8250U + 8G 内存。 redis单...
  • https://mp.weixin.qq.com/s/vdAkpcab05InWpr8AFkUAw
  • Apache 压力测试工具ab 专注接口测试 并发测试Apache 压力测试工具ab 专注接口测试 并发测试
  • jmeter可以进行压力测试、并发测试、性能测试,功能挺多,我就看了高并发,有需求请自行研究。 本文分为两步:1.环境安装 2.测试 1.安装 1.1 JDK下载、安装 推荐使用网盘下载,因为官网不知道何时起需要注册...
  • 1.Jmeter对HTTP请求压力测试、并发测试的简单使用方法 2.HTTP请求压力测试、并发测试的简单使用方法 3.Jmeter对HTTP请求压力测试、并发测试的简单使用方法
  • 一:负载测试,并发测试压力测试区别 负载测试 1、定义: 负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。 2、目的: 不把系统搞挂的...
  • Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 重点:开源免费 1、下载安装 下载指路:...
  • 今年公司项目进行Saas化转型,在中间遇到很多问题,其中之一就是 Saas化后多租户的性能 和 并发问题。公司让我来调研和重现问题,通过调研总结了一些经验教训,分享给大家。 环境: LoadRunner 11.0 (支持...
  • 线程组:设置并发数、并发时间、请求循环次数 采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request 监听器:查看结果树 断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功 配置...
  • ab是apache自带的压力测试功能,全称是apachebench。它可以对各种服务器进行压力测试,比如说nginx,apache,tomcat,IIS等等。 ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却...
  • 2、并发测试单独提出来,是因为并发测试往往涉及服务器的并发容量,以及多进程/多线程协调同步可能带来的问题 3、基准测试,当软件系统增加一个新的模块时候,就要做基准测试,以判断新模块对整个软件系统的性能...
  • 压力测试and并发测试的区别

    万次阅读 2018-12-14 11:47:14
    压力测试 1、压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口。压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一天或一周,根据实际情况来定。 2、压力测试是...
  • 【JMeter】压力测试、并发测试

    万次阅读 多人点赞 2019-06-12 07:38:59
    线程组:设置并发数、并发时间、请求循环次数 采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request 监听器:查看结果树 断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功 ...
  • 线程组:设置并发数、并发时间、请求循环次数 采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request 监听器:查看结果树 断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功 配置...
  • 负载测试(loading test)、压力测试(stress test)、性能测试(performance test)异同 一、测试目的不同 二、测试手段和方法相似,通常会使用相同的测试环境和测试工具,而且都会监控系统所占用资源的情况以及...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,931
精华内容 2,772
关键字:

压力并发测试