一次nginx “time out”故障排查

news2024/11/17 1:53:19

研发请求协助排查一个nginx故障。

描述如下:

在内部环境测试没问题。

打包到生产环境后,访问nginx接口地址超时。

研发比对后怀疑是nginx版本不一致导致。内部版本1.23.2,生产环境1.23.1.

收到信息第一感觉不是nginx的问题。不过先测试一下,现象跟研发描述的一样。

登录服务器,看了nginx.conf配置,发现访问这个端口后,实际做了转发。转发给内网地址:http://10.0.0.7:8000

这个端口是java启动的一个服务。

使用ss -lntp查看,这个服务端口是存在的。

在使用内存命令测试端口
nc -w 2 -z -v 10.0.0.7 8000

端口也是有反应。

老办法,查看access.log,看到输出500错误码。

再查看error.log,确实有timeout的错误提示。

 这样看来是转发给接口地址后没有了反馈。

不过为了排除版本问题,还是升级到1.23.2,当然问题依旧。

研发只好再代码里添加的debug信息。

根据debug信息输出,可以判断到,请求接受到了,但是再调用第一个function时就没有反馈信息了。虽然还不知道啥问题,但是基本确定就是程序某个地方导致故障。

接下来就是研发一点点排查,最终结果是代码打包时,没有修改database连接相关信息,保留的是内部环境参数。连接数据库错误后导致后续处理超时卡死。

总结:

内部测试通过,放到生产环境时出现问题,很多时候就是使用了内部环境参数导致的。

建议把相关参数提取出来,作为配置文件单独存放。

排查问题,顺着执行流,排除其它环节后,剩下的环节就是问题所在。

最后一点就是不能急躁,保持冷静。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

五年测试经验,从二线到一线,下定决心一定要转自动化测试

一七年毕业以来自己工作也快三年左右了,自己最开始其实是想找java开发的,大学的毕设也是用jsp写的一个简单的web网站,无奈面试总被刷而且遇到了大量的培训机构。于是乎就转入软件测试这个行业。没想到啊转眼间一干就三年多了。 第一家公司 …

基于风驱动算法优化的lssvm回归预测-附代码

基于风驱动算法优化的lssvm回归预测 - 附代码 文章目录基于风驱动算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于风驱动算法优化的LSSVM4.测试结果5.Matlab代码摘要:为了提高最小二乘支持向量机(lssvm)的回归预测准确率&#xf…

物联网开发笔记(57)- 使用Micropython开发ESP32开发板之控制ESP32-CAM摄像头

一、目的 这一节我们学习如何使用我们的ESP32开发板来控制ESP32-CAM摄像头。 二、环境 ESP32 ESP32-CAM摄像头 Thonny IDE 几根杜邦线 ESP32-CAM是一个开发板,它上面集成了Camera摄像头模块,可以直接用Micropython进行操作。从MicroPython官网下载的固…

语音处理的线性预测

线性预测是几乎所有现代语音编码算法的基础 – 手机 – 网络电话 (VOIP) – 军事通讯 线性预测假设语音信号的每个样本都可以从 P 个先前样本的加权和中预测出来,利用平稳性假设产生的冗余,线性预测允许数百个样本的语音帧仅由 10-15 个“预测系数”(a1 …

Java搭建宝塔部署实战毕设项目基于SSM的房间管理系统源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套Java开发的毕设项目SSM房间管理系统源码,可以拿来做毕业设计,或者在这基础上进行二开,感兴趣的朋友自行下载来学习一下,本期把这套系统分享给大家…

华人运通与BlackBerry达成合作, 打造未来数字生命GT——高合HiPhi Z

BlackBerry近日宣布,中国领先的未来智能交通产业的创新型出行科技公司——华人运通,选择了BlackBerry QNX为华人运通的第二款旗舰车型高合HiPhi Z保驾护航,打造其自动驾驶域控制器与数字座舱域控制器。 基于BlackBerry QNX Neutrino 实时操作…

Servlet:狂神实例源码分析

目录servlet源码:servlet01启动测试总结servlet 上面就是一个web项目的典型目录,servlet处理request和response的逻辑web.xml管理路由信息index.jsp作为首页访问的页面,jsp是java server page可以认为用java和html混合写前端 源码&#xff1…

汽车电子之功能安全产品设计过程

汽车电子之功能安全产品设计过程 内容来自 驱动视界 学习为主。 1.概念阶段 2.系统阶段 3.硬件层面 4.软件层面 5.3“V” 6.大追溯关系 随着电动化、智能化的发展,越来越多的汽车配备了电子电气系统,如电传动系统、助力转向系统、自动驾驶系统等&…

数据库日常实操优质文章分享(含Oracle、MySQL等) | 11月刊

墨天轮社区正持续举办【聊聊故障处理那些事儿】DBA专题征文活动中,每月进行评优发奖,鼓励大家记录工作中遇到的数据库故障处理过程,不仅用于自我复盘与分析,同时也能帮助其他的同仁们避坑。 这里为大家整理出了11月的13篇优质文章…

Spring Cloud OpenFeign

RestTemplate 是springweb组建 作为Spring Cloud的子项目之一,Spring Cloud OpenFeign 是一种声明式、模板化的 HTTP 客户端,在 Spring Cloud 中使用 OpenFeign,可以做到使用 HTTP请求远程服务时能与调用本地方法一样的编码体验,开…

java自封装加密摘要工具类

首先 可以去看这篇文章 Java md5加密 - 酷盖的小机灵 - 博客园 MessageDigest(加密)_禅悟刂的博客-CSDN博客_messagedigest 在实际开发中,需要将用户的密码这种敏感字段加密后存储到数据库中,千万不可以用明文存储。 加密原理 为…

[旭日X3派] 初识篇 - 02

开局先给整个详细产品参数~ 处理器地平线旭日 X3M 芯片CPU四核 ARM Cortex-A531.2GHzBPU双核 1GHz,等效算力 5 TOPS内存2G/4G Byte LPDDR4存储器外置TF卡摄像头MIPI CSI 2lane 2显示接口HDMI 1 (up to 1920 1080); MIPI-DSI 1 (up to 1920 1080);USB HostUSB …

[Android移动安全渗透基础教程] 工具篇

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 0x01 从 Play Store中提取 .apk 文件 1.1 问题的来源 当想要从 Play S…

ComponentOne Studio WPF部署功能完全兼容

ComponentOne Studio WPF部署功能完全兼容 ComponentOne WPF Edition是一组易于使用的WPF组件,包括.NET应用程序的高级网格、图表、报告和调度控件。ComponentOne WPF控件使用XAML构建,以促进团队协作,并与Windows Presentation Foundation的…

ChatGPT ,能替代程序员吗?

最近朋友圈都在聊一个ai,知乎甚至一度上了热榜,现在已经有540个回答了 好嘛,既然咱也是个程序员,这不得体验一波? 当我火急火燎的点开时 乳化,赤裸裸的乳化! 体验 问题不大,还有闲…

Nacos的服务心跳

nacos的实例分为临时实例和永久实例两种,相应的不同的实例会用有不同的心跳机制. 临时实例基于心跳方式做健康检测,永久实例是有Nacos主动探测实例状态. 可以通过在yaml文件配置. spring:application:name: order-servicecloud:nacos:discovery:ephemeral: false # 设置实例为…

举个栗子~Minitab 技巧(6):使用 T 检验 分析产品质量

在企业生产过程中,我们往往需要对产品质量负责。最常见的场景是,如何判断生产线中的产品,是否满足质量标准?比如,某工厂现有一批产品,目标生产重量是 20g,通过随机抽取不同的产品,如…

springsecurity

目录 一、权限管理简介 1、什么是权限管理 2、认证 2、基于资源的访问控制 三、Spring Security概述 1,Spring Security简介 2、Spring Security快速入门 2.1、引入依赖 2.2、创建一个控制器 2.3、启动项目 四、Spring Security 认证配置 1、WebSecurity…

公司自研组件库打包之后chunk.css文件25W行代码

项目场景: 基于Antd开发的UI组件库,主要分为两部分。 一部分是基础组件,直接在Antd的基础上包了一层,然后根据自身需求拓展了新的功能。如: input的状态除了本身支持的error和warning两种,额外增加了成功的…

手写JS—深拷贝

什么是深拷贝 一个引用对象一般来说由两个部分组成:一个具名的Handle,也就是我们所说的声明(如变量)和一个内部(不具名)的对象,也就是具名Handle的内部对象。它在Manged Heap(托管堆…