• Apache Bench多并发压测VFP猫框,它怎么能这样扛?


    很多人问并发这个东西,特别是老狐友,很喜欢跑过来问并发多少,你可以支持多少人?

    这个其实是伪命题

    1. 访问并发并不是一个问题,而是一个体系问题。

    2. 体系问题,要找出体系中的瓶颈。

    3. 针对瓶颈再去解决并发的问题。

      该堆配置要堆配置,要做负载均衡要做负载均衡,要上缓存时要上缓存,数据库要做读写分离就做读写问题

    相应压测工具能够早点让我们发现系统中的瓶颈所在。

    1. Apache Bench 简介

    Apache Bench 是 Apache 服务器自带的一个web压力测试工具,简称 ab 。

    ab 非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

    其实socket服务器也是能用其来测试的。

    2. 压测原理

    Apache Bench的原理:ab命令会创建 多个并发 访问线程,模拟 多个访问者 同时对某一 URL地址 进行访问。

    它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。

    优点:命令行工具, 发出负载的计算机要求很低,其原理类似CC攻击,少量的测试机资源会给目标服务器造成巨大的负载,自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。工具小巧简单,上手学习较快,可以提供需要的基本性能指标。

    缺点:基本性能指标没有图形化结果,不能监控。

    3. 安装方式

    首先,需要安装 Apache 服务器,下载地址:https://www.apachelounge.com/download/ ,

    因为我是64位操作系统选,所以选择上面的一个压缩包,如下图所示:

    image-20221031161919588

    解压后:

    image-20221031161939951

    直接双击 abs.exe 是无法打开的。

    正确的方式是打开cmd命令,进入Apache Bench 的bin目录,启动 abs.exe ,如下图所示:

    4.命令介绍

    使用命令

    ab一般常用参数就是 -n, -t ,和 -c。

    -c(concurrency)表示用多少并发来进行测试;

    -t表示测试持续多长时间,单位是秒;

    -n表示要发送多少次测试请求。

    一般-t或者-n选一个用。

    GET

    对于模拟GET请求进行测试,ab非常简单,就是:ab -n 100 -c 10 http://127.0.0.1:801/a1send.fsp?proc=send

    POST

    对于模拟POST请求进行测试,则稍微复杂些,需要把将要post的数据(一般是json格式或键值对)放在文件里。比如建立一个文件以c:\postdata.txt,放入:

    {“name”:“123”}

    然后用-p参数解析并发送这个json数据:

    ab -n 100 -c 50 -p c:\postdata.txt -T application/x-www-form-urlencoded http://192.168.0.99:801/a3post.fsp?proc=post

    5. 测试猫框调试服务器结果解读

    猫猫对调试服务器来测试一下看看,结果如下:

    在这里插入图片描述

    调试服务器一般用于开发环境(开发阶段,快速方便),不建议用于正式环境。

    重要指标:

    Requests per second: 最重要的指标之一,相当于LR中的每秒事务数,后面括号中的mean表示这是一个平均值
    Time per request: 最重要的指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值
    Time per request: 每个连接请求实际运行时间的平均值
    Transfer rate: 平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

  • 相关阅读:
    idea中git版本回退(idea撤销commit)
    微控制器通信2 -基础(微逻辑电平与I/O电压)
    K8S-存储(ConfigMap、Secret、Volume、PVC/PV)
    python生成中金所期权行权价
    第十五篇-推荐-Huggingface-镜像-2023-10
    阿里云 ACK 容器服务生产级可观测体系建设实践
    基础篇-基本架构
    LeetCode 43. 字符串相乘
    怎么修改Jenkins的默认工作路径,最简单高效的方式
    使用 typescript + express 创建 NodeJs 后端服务
  • 原文地址:https://blog.csdn.net/fitche/article/details/127620382