这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战
因为热爱所以坚持~
前言
xdm,每次写下“因为热爱所以坚持”都是在给自己鼓劲儿,今天又有想提桶的想法了。但是一认真分析,还是能力问题,会者不难嘛!过了这一阵子应该就好了,真的希望是这样。今天学一下nginx调优吧!这几天有项目在进行性能测试,我也在跟着学习,正好做个记录。
背景
整个事件的背景是这样的,有一个项目环境进入稳定了,开始进行性能测试。最初发现单并发和低并发时一些接口不报错,但是高并发状态下(1200s跑2400线程)对应的服务一直在重启状态,对应的接口也报404,还有一些接口报500和connect timed out之类的错误。
参与方:现场人员,测试,开发
作为开发,收到的就是测试发来的报错信息,以及现场发来的服务一直处于重启状态的信息。
思路
首先捋了一下这三个问题,高并发状态下404是由于服务频繁重启引起的,然后接口报连接超时应该也和它俩有关。
于是查了一下这类问题的常见解决思路:从大方向上分别是网络、应用程序、数据库、操作系统。再细分就很大,放上一个前辈们做的脑图:来自于www.cnblogs.com/alunchen/p/…
具体实施方案
主体工作还是前辈们做的,我旁听到了一些,
主要还是把docker上的微服务内存相关参数调大;
内存预留,内存限制,CPU预留,CPU限制等
把nginx里的一些参数调到最大:
worker_processes, worker_rlimit_nofile等
发现一篇挺全面的文章:www.cnblogs.com/cheyunhua/p…
遗留问题
排查发现,一些接口很慢,相应时间超过了标准。这些接口涉及到数据库,这一部分别的部门在跟进,等整体优化完再做一个全面的总结。