当前位置:   article > 正文

最新Java必备技能之环境搭建篇 (linux ab压力测试Nginx)(实战)(3),2024年最新面试软件测试工程师会问到那些问题_nginx ab测试

nginx ab测试

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

【2】. 进入logs目录。

【3】. 双击查看日志文件。

Linux

【1】. 执行 vi  /usr/local/nginx/logs/error.log 命令

也可以使用

[root@localhost logs]# tail -f access.log

可以看到09秒连续到达4个请求,只处理1个请求;第一个请求处理,其他3个请求被拒绝

2、测试burst

1)限速1qps时,超过请求会被直接拒绝,为了应对突发流量,应该允许请求被排队处理;因此配置burst=5,即最多允许5个请求排队等待处理;

http{

limit_req_zone $binary_remote_addr zone=test:10m rate=1r/s;

server {

listen 80;

server_name localhost;

location / {

limit_req zone=test burst=5;

root html;

index index.html index.htm;

}

}

2)使用ab并发发起10个请求, ab -n 10 -c 10 http://127.0.0.1/index.html

3)查看服务端access日志;根据日志显示第一个请求被处理,2到5四个请求拒绝,6到10五个请求被处理;为什么会是这样的结果呢?

查看nginx源码的ngx_http_log_module模块,每个请求都会 注册handler到NGX_HTTP_LOG_PHASE阶段(HTTP请求处理最后一个阶段打印日志【保含正常处理和异常处理】);

出现异常处理会比正常处理日志提前输出。

因此实际情况应该是这样的:10个请求同时到达,第一个请求到达直接被处理,第2到6个请求到达,排队延迟处理(每秒处理一个);第7到10个请求被直接拒绝,因此先打印access日志;

第2到6个请求(排队延迟处理)每秒处理一个,处理完成打印access日志,即18到22秒每秒处理一个;

4)ab统计的响应时间见下面,最小响应时间1ms,最大响应时间5002ms,平均响应时间为1502ms:

3测试nodelay

1)2显示,配置burst后,虽然突发请求会被排队处理,但是响应时间过长,客户端可能早已超时;因此添加配置nodelay,使得nginx紧急处理等待请求,以减小响应时间:

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

需要这份系统化的资料的朋友,可以戳这里获取

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号