zoukankan      html  css  js  c++  java
  • nginx压力测试

    nginx以高并发,省内存著称。

    相信大多数安装nginx的同学都想知道自己的nginx性能如何。

    我想跟大家分享下我基于即时通讯软件使用ab工具的压力测试方法和结果,

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

    服务器环境为Centos7.6

      yum -y install httpd-tools

    测试之前我们需要部署下LNMP架构环境准备index.html/index.php/图片等分别对他们进行测试。

    我们把这个三个文件放到nginx安装目录的站点目录定义在root下,

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

    [root@web-alipay code]# ab -kc 1000 -n 1000 http://localhost/index.html

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

    Time per request:       9077.844 [ms] (mean)

    Time per request:       9.078 [ms] (mean, across all concurrent requests)

    前一个衡量单个请求的延迟,cpu是分时间片轮流执行请求的,多并发的情况下,一个并发上的请求时需要等待这么长时间才能得到下一个时间片。 

    计算方法Time per request:  9.078 [ms] (mean, across all concurrent requests)*并发数

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

     后一个衡量性能的标准,它反映了完成一个请求需要的平均时间,在当前的并发情况下,增加一个请求需要的时间。

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

    我的机器是华为云的ECS主机,平时负载cpu是0.8%,htop命令结果截图

     

     

    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的一个参数对。此参数可以重复。

  • 相关阅读:
    mongoDb学习以及spring管理 (包括百度云配置)
    Python循环嵌套
    Web应用功能测试测试点
    二维数组联通子数组
    二维数组最大子数组问题
    环一维数组最大子数组问题
    电梯调研
    最大子数组问题
    小学生题目
    3.13题目思路
  • 原文地址:https://www.cnblogs.com/sseban/p/11706431.html
Copyright © 2011-2022 走看看