性能测试之nginx瓶颈优化
2021/8/15 7:08:37
本文主要是介绍性能测试之nginx瓶颈优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
压测场景
800线程做稳定性压测时,接口大批量返回500异常,如下所示
可以发现,很明显是Nginx返回的错误。但是从接口返回看不出太多的细节问题,需要打印nginix日志查看
日志分析
打印nginx日志,可以看到大量的异常信息:Too many open files
看起来是句柄数超出文件限制了
ulimit -a查看一下linux的句柄,发现已经加到65535,最大值
查看nginx进程句柄数,发现也是65535,最大值
linux句柄和nginx进程句柄都已经放到最大了,为什么还会报错呢?
问题分析
仔细想一想,其实这个Too many open files反映的并不是句柄数,而是打开文件数。什么是打开文件数?
linux下,有两个值可以代表打开的文件
1.file-max【最大打开文件数】
2.ulimit【最大文件句柄数】
通过lsof | grep 应用进程号 | wc -l可以实时查看当前进程一共打开了多少文件,如下所示,一共打开了70多万。。。。
然后再通过** /proc/sys/fs/file-max查看一下当前linux的file-max限制,最大是10240
对比一下就知道了,打开的文件数远远超出了linux的限制数!
echo 6553560 > /proc/sys/fs/file-max,修改一下最大文件数就行了,改成6553560,然后重启nginx
再次跑脚本的时候,就没有返回这些文件错误了,但是又返回了新的错误:Connection reset by peer**
未完待续
这篇关于性能测试之nginx瓶颈优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享