河南建设监理协会网站6,微信登录wordpress,备案时网站名称怎么写,成都建设网站公司哪家好目录
1、背景说明
2、排查
2.1、防火墙
2.2、超时时间设置
2.3、服务器资源检查
2.3.1、内存、CPU等
2.3.2、磁盘空间
编辑
2.3.3、检查文件描述符
2.3.4、swap区
3、增加swap空间
3.1、创建目录
3.2、格式化
3.3、启动swap
3.4、查看效果 1、背景说明
在一次…目录
1、背景说明
2、排查
2.1、防火墙
2.2、超时时间设置
2.3、服务器资源检查
2.3.1、内存、CPU等
2.3.2、磁盘空间
编辑
2.3.3、检查文件描述符
2.3.4、swap区
3、增加swap空间
3.1、创建目录
3.2、格式化
3.3、启动swap
3.4、查看效果 1、背景说明
在一次服务日志检查中发现RocketMQ生产者在向MQ发送消息时出现向服务端发现消息超时错误org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
Exception in thread main org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeoutat org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:640)at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1310)at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1256)at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:339)
2、排查
2.1、防火墙
如果是不同服务器之间、或者外网环境检查防火墙设置
# 关闭防火墙
[rootlocalhost ~]# systemctl stop firewalld
# 查看防火墙状态
[rootlocalhost ~]# systemctl status firewalld
ubuntu操作系统使用
# 检查
(base) rootpd-2288H-V5:# service ufw status
● ufw.service - Uncomplicated firewallLoaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)Active: active (exited) since Tue 2024-06-11 17:06:23 CST; 1 weeks 2 days agoDocs: man:ufw(8)Process: 938 ExecStart/lib/ufw/ufw-init start quiet (codeexited, status0/SUCCESS)Main PID: 938 (codeexited, status0/SUCCESS)Warning: journal has been rotated since unit was started, output may be incomplete. 2.2、超时时间设置
检查客户端初始化producer代码在创建producer时已经设置sendMsgTimeout时间。 默认producer.send(msg) 发送的超时时间3000ms 客户端与MQ都属于相同局域网不存在网络阻塞因此再增大超时时间并不合理
2.3、服务器资源检查
RemotingTooMuchRequestException问题出现时MQ的并发并不大。
2.3.1、内存、CPU等
使用 top 命令 2.3.2、磁盘空间
MQ写入磁盘空间不足也会导致消息写入失败 df -h 2.3.3、检查文件描述符
文件描述符是大于等于0的整数其可以标明每一个被进程所打开的文件和 socket。最前面的三个文件描述符012分别与标准输入stdin标准输出stdout和标准错误stderr对应后面打开的文件依此类推对应 3、4…… 。
从文件描述符的描述中得知其是按照每个进程来分配的。于是上面的问题我最多可以打开多少个文件就可以进一步细化为下面几个问题
一个进程最多可以打开多少个文件描述符一个用户最多可以打开多少个文件描述符一个系统最多可以打开多少个文件描述符
# 数字替换应用的PID
ls /proc/3274080/fd | sort -n | tail -n 1
检查当前最大句柄数
# 查看
ulimit -n
# 修改句柄数
ulimit -n 10240
查看全部
ulimit -a 2.3.4、swap区
在进一步检查中发现swap 可用空间不足 3、增加swap空间
3.1、创建目录
使用dd命令在某个目录实际使用时换成其他目录/tmp目录的数据会在重启后丢失下新建一个2G的文件
解释1M是单位1024是数目合计1024M就是总大小1G
如果不足可以重复进行新建 /tmp/swap2 等等
dd if/dev/zero of/tmp/swap bs1M count2048 3.2、格式化
格式化这个文件为swap格式用mkswap命令
mkswap /tmp/swap 3.3、启动swap
启动swap用swapon命令就是将新建的swap添加到系统
swapon /tmp/swap swapon: /tmp/swap2不安全的权限 0644建议使用 0600。 3.4、查看效果
用swapon的-s参数
swapon -s