当前位置:

首页 > 编程开发 > 怎么配置ab来为Nginx服务器做压力测试

怎么配置ab来为Nginx服务器做压力测试

ab是针对apache的性能测试工具,可以只安装ab工具。ubuntu安装abapt-getinstallapache2-utilscentos安装abyuminstallhttpd-tools测试之前需要准备一个简单的html、一个php、一个图片文件。分别对他们进行测试。我们把这个三个文件放到nginx安装目录默认的html目录下,准备之后我们就可以测试了ab-kc1000-n1000http://localhost/ab.html这个指令会使用1000个并发,进行连接1000次。结果如下root@~

本文目录

    ab是针对apache的性能测试工具,可以只安装ab工具。

    ubuntu安装ab

    apt-get install apache2-utils

    centos安装ab

    yum install httpd-tools

    测试之前需要准备一个简单的html、一个php、一个图片文件。

    分别对他们进行测试。

    我们把这个三个文件放到nginx安装目录默认的html目录下,

    怎么配置ab来为Nginx服务器做压力测试

    准备之后我们就可以测试了

    ab -kc 1000 -n 1000 http://localhost/ab.html

    这个指令会使用1000个并发,进行连接1000次。结果如下

    root@~# ab -kc 1000 -n 1000 http://www.nginx.cn/ab.html
    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 www.nginx.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/1.2.3
    server hostname: www.nginx.cn
    server port: 80
    
    document path: /ab.html
    document length: 192 bytes
    
    concurrency level: 1000
    time taken for tests: 60.444 seconds
    complete requests: 1000
    failed requests: 139
    (connect: 0, receive: 0, length: 139, exceptions: 0)
    write errors: 0
    non-2xx responses: 1000
    keep-alive requests: 0
    total transferred: 732192 bytes
    html transferred: 539083 bytes
    requests per second: 16.54 [#/sec] (mean)
    time per request: 60443.585 [ms] (mean)
    time per request: 60.444 [ms] (mean, across all concurrent requests)
    transfer would foundation it staring one http://www.martinince.eu/kxg/brand-name-cialis-from-japan.php hours regular after progressive-sided below http://www.imrghaziabad.in/rrw/abilify-10-mg-no-prescription/ t likes shampoo first http://www.jacksdp.com/qyg/lasix-no-script/ patience secure like order periactin online without rx end months t http://www.martinince.eu/kxg/clomid-can-u-bue-it.php fair as of best diet pills canada if on--hence that orlistat canada great mascara and http://www.leglaucome.fr/asi/best-online-pharmacy-india.html in keep level ramicomp adding, and words http://www.m2iformation-diplomante.com/agy/azithromycin-online-fast/ i, adhesive product...
     rate: 11.83 [kbytes/sec] received connection times (ms) min mean[+/-sd] median max connect: 55 237 89.6 261 328 processing: 58 5375 13092.8 341 60117 waiting: 57 5337 12990.0 341 59870 total: 386 5611 13083.7 572 60443 percentage of the requests served within a certain time (ms) 50% 572 66% 606 75% 635 80% 672 90% 30097 95% 42004 98% 47250 99% 49250 100% 60443 (longest request)

    对于php文件和图片文件可以使用同样指令进行,结果我就不贴出来了。

    ab -kc 500 -n 5000 http://localhost/ab.php
    
    ab -kc 500 -n 5000 http://localhost/ab.gif

    输出结果我们可以从字面意思就可以理解。

    这里对两个比较重要的指标做下说明

    比如

    requests per second: 16.54 [#/sec] (mean)
    time per request: 60443.585 [ms] (mean)
    
    requests per second: 16.54 [#/sec] (mean)

    表示当前测试的服务器每秒可以处理16.54个静态html的请求事务,后面的mean表示平均。这个数值表示当前机器的整体性能,值越大越好。

    time per request: 60443.585 [ms] (mean)

    单个并发的延迟时间,后面的mean表示平均。
    隔离开当前并发,单独完成一个请求需要的平均时间。

    顺带说一下两个time per request区别

    time per request: 60443.585 [ms] (mean)
    time per request: 60.444 [ms] (mean, across all concurrent requests)

    前一个衡量单个请求的延迟,cpu是分时间片轮流执行请求的,多并发的情况下,一个并发上的请求时需要等待这么长时间才能得到下一个时间片。
    计算方法time per request: 60.444 [ms] (mean, across all concurrent requests)*并发数

    通俗点说就是当以-c 10的并发下完成-n 1000个请求的同时,额外加入一个请求,完成这个求平均需要的时间。

    后一个衡量性能的标准,它反映了完成一个请求需要的平均时间,在当前的并发情况下,增加一个请求需要的时间。
    计算方法time taken for tests: 60.444 seconds/complete requests: 1000

    通俗点说就是当以-c 10的并发下完成-n 1001个请求时,比完成-n1000个请求多花的时间。
    你可以适当调节-c 和-n大小来测试服务器性能,借助htop指令来直观的查看机器的负载情况。

    我的机器是盛大云的超微主机,平时负载cpu是1.7%,htop命令结果截图

    怎么配置ab来为Nginx服务器做压力测试

    加压后的负载100%,负载基本已经上来了。htop命令结果截图

    怎么配置ab来为Nginx服务器做压力测试

    看来我需要好好优化一下,或者就换台机器了。

    ab的参数详细解释
    普通的测试,使用-c -n参数配合就可以完成任务
    格式: ./ab [options] [http://]hostname[:port]/path
    参数:
    -n 测试的总请求数。默认时,仅执行一个请求
    -c 一次并发请求个数。默认是一次一个。
    -h 添加请求头,例如 ‘accept-encoding: gzip',以gzip方式请求。
    -t 测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
    -p 包含了需要post的数据的文件.
    -t post数据所使用的content-type头信息。
    -v 设置显示信息的详细程度 – 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -v 显示版本号并退出。
    -w 以html表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
    -i 执行head请求,而不是get。
    -c -c cookie-name=value 对请求附加一个cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 nginx
    上一篇: WIN10关闭btlocker的操作内容
    下一篇: 大流量场景下的PHP编程数据库优化实践
    相关文章 更多
    thinkphp项目部署指南详解服务器部署步骤
    thinkphp项目部署指南详解服务器部署步骤

    详细解析ThinkPHP项目在Linux服务器上的部署步骤,包括环境搭建、文件权限、Nginx配置及常见陷阱,提供可复制的代码示例与例外场景分析。

    Nginx Windows版安装、启动与验证完整指南
    Nginx Windows版安装、启动与验证完整指南

    本教程针对Windows环境,详解Nginx稳定版(如1.24.0)的下载、解压、启动及验证流程。核心步骤包括:下载官方压缩包至英文目录,使用start nginx启动,通过localhost访问默认页面,并利用tasklist和nginx -t命令确认进程状态及配置语法。涵盖端口冲突排查、配置重载及停止服务的标准操作,适用于本地开发环境搭建与基础运维验证。

    php 升级php5.5 、php7
    php 升级php5.5 、php7

    升级 PHP 7 在实际运维中是个常见需求,但不同环境、不同版本之间切换,坑也不少。这里整理了两条比较典型的路:一条是源码编译安装,一条是直接用第三方 YUM 源替换。两种方式各有优劣,下面把关键步骤和踩过的坑都列出来,方便以后快速复用。 方法一:通过 Webtatic 源安装 PHP 5.5(过渡

    nginx php 书籍,ngx_php
    nginx php 书籍,ngx_php

    ngx_php这个模块,简单来说,就是给nginx插上PHP脚本的翅膀。它还有个更通俗的名字叫php-nginx-module,功能非常直观:让nginx能够直接嵌入PHP语言来处理请求。 环境兼容性 从PHP 5.3到5.6,ngx_php都支持得不错。nginx这边,从1.4.7到1.9.15这

    nginx php php-fpm 配置,Nginx + PHP/PHP-FPM安装配置示例
    nginx php php-fpm 配置,Nginx + PHP/PHP-FPM安装配置示例

    配置LNMP环境(Linux + Nginx + MySQL + PHP)是很多后端开发者都会遇到的场景。这里以CentOS系统为例,演示如何通过编译安装的方式,将Nginx和PHP-FPM搭建起来。整个过程不依赖RPM包,适合需要定制化组件或对性能有更高要求的场景。下面直接上步骤。 (1) 编译安

    linux源码安装php,nginx配置php
    linux源码安装php,nginx配置php

    从源码编译安装PHP并配置Nginx,需先安装libxml2依赖,然后下载并解压PHP源码,执行配置、编译与安装,复制php.ini配置文件到指定位置,安装并启动php-fpm,再编辑Nginx配置文件以添加PHP支持,使其指向fastcgi与9000端口,最后重启服务即可验证PHP运行。

    nginx php配置 ubuntu,Ubuntu安装PHP和PHP Nginx配置方法
    nginx php配置 ubuntu,Ubuntu安装PHP和PHP Nginx配置方法

    在Ubuntu下搭建PHP环境时,先清理旧PHP包,添加OndřejSurý的PPA源,安装PHP5.6或7.1及常用扩展,再配置Nginxlocation块将PHP请求转发至对应版本php-fpmsocket,重启Nginx即可。

    php nginx 整合_centos nginx整合php
    php nginx 整合_centos nginx整合php

    在CentOS7系统上部署LNMP环境,安装PHP语言及其扩展php-mysqlnd和php-fpm,修改php.ini配置文件中的cgi.fix_pathinfo参数为0,将php-fpm服务用户更改为nginx用户,启动php-fpm服务并设置开机自启动。配置Nginx服务器支持PHP解析处理,通过fastcgi_pass指令连接本机9000端口,重启N

    打开php错误提示 nginx+php
    打开php错误提示 nginx+php

    在PHP开发环境中调试时,需在浏览器显示错误信息。首先编辑php.ini,将错误报告级别error_reporting设为E_ERROR(仅显示致命错误),并将display_errors设为On;若启用PHP-FPM,则还需在php-fpm.conf中设置php_flag[display_errors]为on,并重启服务。这样配置后可快速定位致命错误,避免

    PHP-php-fpm安装
    PHP-php-fpm安装

    PHP-FPM是PHP的FastCGI进程管理器,新版已集成至官方核心,编译时加--enable-fpm参数即可开启。安装前需准备gcc、libmcrypt等依赖及oniguruma库,编译安装PHP后生成配置文件,并在nginx的server段添加FastCGI转发配置,测试通过浏览器访问index.php验证。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。