接口有时出现卡顿,而且抓包显示有时tcp目标机器没有响应,
但nginx和java应用又没有错误日志,让人抓耳挠腮,最终还是请运维大哥帮忙,一顿操作后系统暂时无卡顿了,佩服的同时感觉疑惑到底调整了啥东西这么神奇?
(1)运维调整了系统内核参数,最大文件句柄数
vim /etc/sysctl.conf
fs.file-max = 655350
sysctl -p 生效
(2)调整nginx配置文件增加配置:
client_header_timeout 15s; # 客户端请求头读取超时
client_body_timeout 15s; # 客户端请求体读取超时
send_timeout 10s; # 响应数据传输超时
文件描述符,又叫文件句柄,linux系统里一切皆是文件,比如套接字,磁盘等各种资源。
其他命令
(1)cat /proc/sys/fs/file-nr 查看系统当前打开了多少文件描述符
Linux 还会限制某个用户所能打开的文件描述符数量,这个值默认是 1024
(2)cat /proc/sys/fs/file-max 系统级别的,所有进程可打开的文件描述符最大数
(3)ulimit -n 显示进程级别的最大文件描述符;
调整后一段时间内系统稳定性是提升了,但卡顿现象依然存在,这个到底怎么查呢?