我们总得要对自己的网站或者接口做压力测试的,总不能写好了代码不做测试就上线啊,谁知道你的网站或者接口能承受多少的并发和访问量,压力测试我们可以使用apache的ab小工具来搞或者使用github上提供了一版本hey 这里我们只讲ab小工具哈 hey也很简单 linux上下载下来直接使用即可!

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

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

输入命令:

ab -n 1000 -c 100 http://192.168.1.168/index/index

参数介绍 自己看吧:

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 20000 -c 10000 http://192.168.1.168/index/index

如果请求量较大 linux客户端口会报错链接太多 只需要执行命令:

#这个数值可以调整的更大

ulimit -n 20000

ulimit是干哈滴 请自行百度!

除此之外 我们还需要Nginx的性能统计模块 这个你得需要编译安装哦

–with-http_stub_status_module 加上这个模块即可!

pkill -9 nginx;

cd /usr/local/src/nginx-1.16.1

make clean

#重新编译安装Nginx 不要忘记之前的参数

./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/ngx_http_consistent_hash-master --with-http_stub_status_module --add-module=/usr/local/src/echo-nginx-module-0.62rc1

这还没完 你得能访问它啊

找到nginx.conf文件 先进一个location

location /status {

stub_status on;

access_log off;

#也可以限制ip 除了1.9的ip其他ip禁止访问 因为统计信息比较敏感

allow 192.168.1.9

deny all;

}

然后你去访问

192.168.1.168/status

完事!

测压

并发10000 总请求量20000 你会看到 卧槽 我浏览器访问 咋卡死啦!还会发现ab的测试报告里面咋这么多失败的请求呢?

不卡死才怪呢!不失败才怪!

我们接下来讲讲如何优化Nginx!

本作品采用《CC 协议》,转载必须注明作者和本文链接

胡军

测试nignx php请求并发数,Nginx 高级篇(八)ab 压力测试即 nginx 的性能统计模块...相关推荐

  1. 测试nignx php请求并发数,nginx 优化(突破十万并发)

    一般来说nginx 配置文件中对优化比较有作用的为以下几项: worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数.worker_cpu_affini ...

  2. Web性能测试篇:AB 压力测试

    目录 1. 压力测试的概念\定义 2. AB的起源 3. 运行平台区分(Windows\Linux|Mac) 4. 你的第一个AB GET请求脚本 5. AB发起POST.PUT请求 6. AB附带有 ...

  3. 并发请求多 服务器响应慢 post,【转】吞吐量、QPS(TPS)、并发数、RT性能指标及ab并发测试...

    概念 吞吐量 系统的吞吐量是指系统的抗压.负载能力,指的是单位时间内处理的请求数量.通常情况下,吞吐率用 "字节数/秒" 来衡量,也可以用 "请求数/秒",&q ...

  4. 对请求并发数做限制的通用RequestDecorator

    使用场景 在开发中,我们可能会遇到一些对异步请求数做并发量限制的场景,比如说微信小程序的request并发最多为5个,又或者我们需要做一些批量处理的工作,可是我们又不想同时对服务器发出太多请求(可能会 ...

  5. 不到50行代码实现一个能对请求并发数做限制的通用RequestDecorator

    使用场景 在开发中,我们可能会遇到一些对异步请求数做并发量限制的场景,比如说微信小程序的request并发最多为5个,又或者我们需要做一些批量处理的工作,可是我们又不想同时对服务器发出太多请求(可能会 ...

  6. Exchange 2010 批量移动邮箱和增加移动请求并发数

    最近公司在准备升级 Exchange 服务,准备工作:把离职用户的邮箱,迁移到指定的数据库.在升级迁移数据库时,离职库不做迁移.这样能减少今后迁移的数据量. 增加移动请求并发数参考资料: https: ...

  7. JavaScript实现异步请求并发数限制

    背景 上一篇<JavaScript 阻塞方式实现异步任务队列>实现了异步请求依次执行的方案,实际上就是限制同一时间只能有一个异步请求,并发请求数为1. 那实现流量控制,怎么实现并发数大于1 ...

  8. c++ http服务器之Apache工具ab压力测试(nginx与brpc)

    系列服务器开发 文章目录 系列服务器开发 前言 一.ab是什么? 二.ab测试实例nginx 1.nginx环境准备与安装 2.ab测试nginx本身的性能 3.ab测试基于brpc的http服务器性 ...

  9. linux 下ab压力测试

    为什么80%的码农都做不了架构师?>>>    ab 介绍 ab是apachebench命令的缩写 ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器 ...

最新文章

  1. Edit Distance
  2. 图解 Java 垃圾回收机制,写得非常好!
  3. 如何通过阅读英文网站提高英文水平
  4. jupyter 代码自动补全_在 Pycharm 中安装及使用 Jupyter (图文详解)
  5. 深入理解javascript原型和闭包(12)——简介【作用域】
  6. poj3187 穷竭搜索 挑战程序设计大赛
  7. 线上系统因为一个ThreadLocal直接内存飙升
  8. dp之多重背包poj2392
  9. 【转】UINavigationBar 使用总结
  10. java文件与bean所定义的_Spring定义bean的三种方式和自动注入
  11. Bailian4041 矩阵运算【数学计算】
  12. 程序员在网吧办公是什么感觉?网友:在被打的边缘疯狂试探!
  13. 中望3d快捷键命令大全_中望CAD快捷键命令大全
  14. matlab2012仿真电路图,cuk电路matlab仿真 - 全文
  15. Excel VBA编程实现自动分页
  16. 裸金属服务器跟云服务器区别有哪些?裸金属应用在哪些场景中?
  17. win10wifi开关自动弹回_win10wlan开关自动弹回
  18. HC-SR04超声波测距块讲解(附32单片机源码)
  19. p u b g服务器维护中是什么意思,数控G71里面P和Q是什么意思,你知道吗?
  20. Cadence 16.6安装过程中破解失败

热门文章

  1. 我自己比较习惯的Watir自动化测试代码管理方式
  2. ActionForm
  3. 三层嵌套gridview 的折叠展开
  4. 试论述计算机辅助教学的特点,浅谈计算机辅助教学特点
  5. idea服务器如何手动加载项目,idea导入本地idea的web项目(服务器用的是tomcat)
  6. 无线鼠标可以强制配对_酷冷至尊MM831三模游戏鼠标评测
  7. oracle右模糊查询不使用索引,oracle like模糊查询不能走索引?
  8. 宁夏师范大学本科计算机理工,2019年宁夏师范学院区内二批普通本科理工类(录取905人,共16个专业)...
  9. 计算机的英语句子,唯美英语短句
  10. mac mysql 免密登录_Mac 免密登陆