跳到主要内容

网站突然Gateway Timeout 的分析和解决

使用的Wordrepss建站,昨天晚上加班,很晚回去,回去前看了网站没有问题,但是今早一来,用户说不能访问网站了。这个时间点很巧合,用户提出不能访问的时候,与后来查到的网站错误日志的发生时间刚刚好,就好像一切都是安排好的一样,我刚到园区楼下,收到用户信息,检查完却完美巧合。

紧急解决办法

不知道是什么原因,不希望解决了问题,还不知道是什么原因,所以没有重启服务器,毕竟遇到过重启服务器起瘫痪的时候(当时增加磁盘,没有对磁盘自动挂载配置正确,配置文件有误导致),选择了重启宝塔面板的网站,唰,好了。问题解决。

问题跟进

阿里工单优化linux

同步提交了阿里工单,其实没有报多大希望,因为历来感觉阿里工单就是糊弄,把球踢给网站代码,踢给客户技术,上次给我莫名其妙的问蒙了,我找阿里工单,阿里工单却让我找技术,啥都没问,咋知道我不是技术。

这次阿里工单的耐心和热情,超出我的预期,几次说没事了表达了想关单之意,这个粘哦,一点点帮我分析,那我就一点点看,解决了,还增加其他可能分析,这哥们如果拿这本事追女朋友,不得了啊,水平跟我不相上下。

解决办法,优化了linux内核:

linux的服务器的话,可以在内核参数这里也优化一下 /etc/sysctl.conf 这个文件最下面

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 这个参数数值适当的配置 (120是两分钟)

就这个,后面数字这个没有实际确定的,所以您自己看着配置一下, 完了后保存 sysctl -p 加载一下就生效了。

还给我截图,耐心,到位。

Linux-Ali-Sysctl-p-screenshot

linux内核参数调整:linux 内核参数调整有两种方式

方法一:修改/proc下内核参数文件内容,不能使用编辑器来修改内核参数文件,理由是由于内核随时可能更改这些文件中的任意一个,另外,这些内核参数文件都是虚拟文件,实际中不存在,因此不能使用编辑器进行编辑,而是使用echo命令,然后从命令行将输出重定向至 /proc 下所选定的文件中。如:将 timeout_timewait 参数设置为30秒:

# echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

参数修改后立即生效,但是重启系统后,该参数又恢复成默认值。因此,想永久更改内核参数,需要修改/etc/sysctl.conf文件

方法二.修改/etc/sysctl.conf文件。检查sysctl.conf文件,如果已经包含需要修改的参数,则修改该参数的值,如果没有需要修改的参数,在sysctl.conf文件中添加参数。如:

net.ipv4.tcp_fin_timeout=30

保存退出后,可以重启机器使参数生效,如果想使参数马上生效,也可以执行如下命令:

# sysctl -p

以上节选自:Linux服务器性能评估与优化(五)–内核参数 – 腾讯云开发者社区-腾讯云 (tencent.com)

腾讯云的文档感觉还是好一些,有更新。

后台用户反馈一晚未退出登录

从技术上讲,不退出登录,有cookies,有缓存,有CDN,这个复杂程度我没有并行检查过,但是通过经验判断,或存在技术上的缓存,但为什么用户操作的那一刻超时了呢?

不清楚,所以,基于现象,增加inactive logout 来保护session from shoulder surfers and snoopers!

增加自动退出提醒和自动退出控制。

再观察,总是发现不同的新老问题,看来网站运维的角色总不能少。

返回顶部