MTU参数设置导致无法正常连接数据库解决办法
1. 问题现象
服务器部署应用后发现无法正常连接MySQL数据库,第一次连接成功,第二次无法连接,重启程序和服务器后,仍然存在该问题。应用程序切换到其他服务器,发现连接正常。经过排查发现最大传输单元(Maximum Transmission Unit,MTU)参数存在问题。
2. 解决方法
- 查看MTU设置大小
netstat -i- 设置本机的MTU,即时生效,重启后失效
ifconfig eth0 mtu 1328- 永久生效的修改方法,修改保存后需要重启网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加下列内容
MTU=“1328”- 重启网卡,重启完成后可通过第一步中的命令查看结果
service network restart
3.扩展
最大传输单元(Maximum Transmission Unit,MTU)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。
MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径上途经的某台设备所能够承受的最大值,就会造成报文分片甚至丢弃,加重网络传输的负担。如果太小,那实际传送的数据量就会过小,影响传输效率。