mysql time_wait报错_[请教] MySQL server has gone away 与 TIME_WAIT 的关系
在阿里云配置了 MySql(RDS) 的读写分离地址后,在 PHP 中使用该地址进行更新操作时提示如下报错:
1.提示错误
MySQL server has gone away (SQL:xxx)
此时切换回 主数据的 连接地址就恢复正常不再报错。
提交工单获得的答复是 TIME_WAIT 过多。
2.目前了解的情况
一. TIME_WAIT 连接数如下:
[[email protected] ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
CLOSE_WAIT 3
ESTABLISHED 568
TIME_WAIT 1268
二. 多数 TIME_WAIT 如下,后者( 192.168.0.10:6379 )是 Redis Docker 容器的地址、端口。
tcp 0 0 192.168.0.1:35180 192.168.0.10:6379 TIME_WAIT
tcp 0 0 192.168.0.1:34520 192.168.0.10:6379 TIME_WAIT
tcp 0 0 192.168.0.1:34798 192.168.0.10:6379 TIME_WAIT
tcp 0 0 192.168.0.1:49738 192.168.0.8:9000 TIME_WAIT
tcp 0 0 192.168.0.1:36198 192.168.0.10:6379 TIME_WAIT
tcp 0 0 192.168.0.1:34762 192.168.0.10:6379 TIME_WAIT
三.
本机的 PHP、Nginx、Redis 运行在不同的容器中。
google 到减少 TIME_WAIT 的方法是:
修改 /proc/sys/net/ipv4/tcp_tw_recycle 等参数
但是又有相关文献说明修改该参数会导致 NAT 网络下的客户端连不上..遂放弃修改
3.目前想请教大家的地方
1.TIME_WAIT 过多会导致上述问题吗?如果是,那么为什么通过主数据的地址连接没问题,通过读写分离地址去连接就有问题呢?(实际上在另一台服务器上连接两个地址都没有问题...)
2.修改 tcp_tw_reuse 参数是否可以减少服务器 TIME_WAIT 的数量呢,资料上讲该参数主要用于客户端,但这里的客户端指连接 Redis 的机器( 192.168.0.1 本机)还是指用户呢。
一些自造、怕大家误会的名词
主数据库:最近在原先数据库上增加了只读数据库用于分担压力。原先的可读写数据我叫它主数据库
主数据库的地址、读写分离地址:通过前者连接会直接对主数据库进行读写,通过后者时在进行读操作时会优先从新增的读数据库读取。
先谢谢大家的指教。
mysql time_wait报错_[请教] MySQL server has gone away 与 TIME_WAIT 的关系相关推荐
- mysql convert报错_部署mysql版本项目问题记录
一,com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure报错 将url从jdbc:mysq ...
- mysql cast报错_在mysql中使用cast函数报错
今天遇到在使用mysql的cast函数报错的问题,这个函数的意思是把当前的字段转成某种类型的字段,我使用cast(xxxx as int) 这种方式,但是发现报错了,查阅资料发现 参考这个百度,总结来 ...
- datax导入MySQL报错_导入MySQL方法对比
使用datax导入 1.使用自增id 记录数 耗时(秒) TPS 4248882 347 12244 33404813 4038 8272 2.不使用自增id,使用雪花算法生成id后导入 记录数 耗时 ...
- mysql修改存储引擎报错_修改mysql存储引擎备份数据库报错及解决方案
备份数据库报错 原因:由于监控服务器最近cpu负载比较高.(cpu4核心,负载2.7左右)感觉很奇怪,因为别的服务器mysql占用的资源并不多,因此我首先优化了数据库的配置文件.cpu稍微下降了一点, ...
- mysql pxc 报错_登录mysqlpxc报错找不到库文件libreadline.so.7
1.1简述: 基于上篇博文,为了部署mysqlpxc集群环境,需要开启3个vmware虚拟机实例来部署3个mysqlpxc实例. 第一篇博文中在初始化mysqlpxc实例后,登录实例时,报错提示: [ ...
- 打开mysql 的时候报错_关于mysql的启动报错处理
昨天使用rpm安装了一个mysql最新版本,在安装的时候因为系统里面自带了mysql5.1的版本.所以我在安装mysql5.5的时候一直报错,故使用yum -y remove mysql*将老版本的安 ...
- mysql outer join报错_千与千寻-MySQL联结join
MySQL的联查包括外联结,內联结,自然联结,cross联结等等. 1.cross join cross join是对两个表执行笛卡尔运算,显示所有两个表的组合返回m*n行.它可以省略掉cross,或 ...
- mysql启动报错:Cant start server cant check PID filepath No such file or directory
问题显现:问题排查1.象通过 systemctl status mysqld.service 命令查看状态现在是未启动成功 正在启动中 2.查看mysql启动日志 cat /var/log/mysql ...
- mysql 2003报错_为什么不建议在 MySQL 中使用 UTF-8?
正文 记得去年我在往MySQL存入emoji表情 时,一直出错,无法导入.后来找到办法 -- 通过把 utf8 改成 utf8mb4 就可以了,并没有深究. 一年后,我看到一篇文章讲到emoji文字占 ...
最新文章
- 普通话测试第四题评分标准_普通话考试中命题说话的扣分标准
- centos6 进入命令行_CentOS 6.x误删libc.so.6,紧急恢复
- c语言蓝桥杯矩阵乘法,蓝桥杯 基础练习 矩阵乘法
- python—while循环、字符串
- java二次排序_使用java 实现二次排序
- java bean参数清空_给bean的属性赋值
- get post请求区别_网页常见的两种请求方式Get和Post
- 第十六讲:菜单 Android Menu(转)
- WiFi PHY技术之自动增益控制(AGC)
- DID; PSM; DID-PSM
- Java Server Faces_JSF ( JavaServer Faces ) 介绍
- 网站页面静态化(一)初识
- ESP32产品系列之智能插座(一),框架及硬件设计
- 帧率(FPS)计算的六种方法总结
- 解密:Gmail移动客户端自动邮件回复技术
- win10 开机软件自动启动设置
- vk和uview表单图片上传
- 特别舍得花钱的穷人们
- 在中端5G手机市场,小米要以性能碾压其他竞争对手
- Windows 10 MSDN 镜像和版本区别