安装了cacti 0.8.7b 运行几天之后,发现生成的图形断断续续。查找原因发现是mysql产生了很多sleep连接不释放,以致影响cacti的查询。
mysql> show processlist;
发现sleep很多+—-+———–+———–+——-+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+—-+———–+———–+——-+———+——+——-+——————+
| 1 | root | localhost | NULL | Query | 0 | NULL | show processlist |
| 3 | cactiuser | localhost | cacti | Sleep | 409 | | NULL |
| 4 | cactiuser | localhost | cacti | Sleep | 403 | | NULL |
| 5 | cactiuser | localhost | cacti | Sleep | 406 | | NULL |
| 20 | cactiuser | localhost | cacti | Sleep | 401 | | NULL |
| 22 | cactiuser | localhost | cacti | Sleep | 199 | | NULL |
| 23 | cactiuser | localhost | cacti | Sleep | 179 | | NULL |
| 24 | cactiuser | localhost | cacti | Sleep | 158 | | NULL |
| 25 | cactiuser | localhost | cacti | Sleep | 134 | | NULL |
| 26 | cactiuser | localhost | cacti | Sleep | 114 | | NULL |
| 41 | cactiuser | localhost | cacti | Sleep | 90 | | NULL |
| 42 | cactiuser | localhost | cacti | Sleep | 69 | | NULL |
| 43 | cactiuser | localhost | cacti | Sleep | 48 | | NULL |
| 44 | cactiuser | localhost | cacti | Sleep | 28 | | NULL |
| 45 | cactiuser | localhost | cacti | Sleep | 4 | | NULL |
+—-+———–+———–+——-+———+——+——-+——————+
15 rows in set (0.00 sec)
mysql> show variables like ‘max_connections’;
+—————–+——-+
| Variable_name | Value |
+—————–+——-+
| max_connections | 100 |
+—————–+——-+
1 row in set (0.00 sec)
mysql> show status like ‘max_used_connections’;
+———————-+——-+
| Variable_name | Value |
+———————-+——-+
| Max_used_connections | 24 |
+———————-+——-+
1 row in set (0.00 sec)
mysql> show status like ‘thread%’;
+——————-+——-+
| Variable_name | Value |
+——————-+——-+
| Threads_cached | 0 |
| Threads_connected | 19 |
| Threads_created | 29 |
| Threads_running | 1 |
+——————-+——-+
4 rows in set (0.00 sec)
mysql> show variables like ‘wait_timeout’;
+—————+——-+
| Variable_name | Value |
+—————+——-+
| wait_timeout | 28800 |
+—————+——-+
1 row in set (0.00 sec)
修改my.cnf
在[mysqld]增加如下2行:
wait_timeout = 30
interactive_timeout = 30
重启数据库
mysql> show variables like ‘wait_timeout’;
+—————+——-+
| Variable_name | Value |
+—————+——-+
| wait_timeout | 30 |
+—————+——-+
1 row in set (0.00 sec)
相关推荐
MySQL的`wait_timeout`连接超时问题通常出现在长时间无操作的数据库连接上,服务器会自动关闭这些连接以释放资源。这种现象在应用中可能导致突然的数据通信中断,表现为“Communications link failure”等错误,提示...
在MySQL中,`interactive_timeout` 和 `wait_timeout` 是两个重要的配置参数,它们与客户端连接到服务器的超时设置紧密相关。理解这两个参数的区别对于优化数据库性能和避免不必要的连接断开至关重要。 `...
在 MySQL 中,wait_timeout 参数控制着连接的超时时间,如果设置的过大,可能会导致大量的 SLEEP 进程无法及时释放,拖累系统性能;反之,如果设置的过小,可能会遭遇到“MySQL has gone away”之类的问题。 wait_...
MySQL数据库的连接超时问题,通常表现为Wait_timeout错误,指的是当客户端与服务器之间的连接在指定时间内没有进行任何数据交互,数据库会自动断开这个连接,以释放资源并防止不必要的资源占用。这一特性在MySQL中是...
这是因为 Hibernate 框架在执行数据库操作时,可能会长时间保持连接,而 MySQL 的 wait_timeout 参数设置的太小,导致连接超时。 error 信息分析 在出现连接超时问题时,错误信息可能如下所示: ERROR [org....
错误提示: user: ‘root’ host: `localhost’ (Got timeout reading communication ...wait_timeout 的默认值这:120 根据情况增加吧. 这两个值是一个全局变量,可以动态增加,如: mysql> set global interactiv
介绍c++ 里sleep和wait的区别,很详细的 。。
8. `net.ipv4.tcp_fin_timeout`:减少FIN-WAIT-2状态的持续时间,更快释放资源。 9. `net.ipv4.tcp_keepalive_probes`:减少超时前的探测次数,以减少无效连接的保持时间。 10. `net.core.netdev_max_backlog`:优化...
这是因为如果对方在第三次握手的时候出问题,例如发 FIN 包的时候,丢了这个包,然而这边一直处在 FIN_WAIT_2 状态,TCP/IP 并没有设置这个状态的过期时间,那它一直会保留这个状态下去,越来越多的 FIN_WAIT_2 状态...
在创建数据库时选择合适的全局字符集,如AL32UTF8支持多语言。如果需要迁移已有数据库,必须考虑源和目标数据库的字符集兼容性,并可能需要进行数据转换。 在命令行下操作Oracle,我们需要熟悉SQL*Plus工具。通过`...
async-timeout, asyncio兼容超时类 异步超时 asyncio兼容的超时上下文管理器。用法示例当你想要在代码块或者 asyncio.wait_for() 不适合的情况下应用超时逻辑时,上下文管理器非常有用。 而且它比 asyncio.wait_for...
在IT领域,尤其是在服务器运维与数据库管理中,遇到“大量TIME_WAIT”状态的问题并不罕见,尤其是在高并发场景下,如MySQL服务器。本文将深入解析如何有效解决MySQL出现大量TIME_WAIT状态的问题,通过调整系统内核...
文件"close_wait_0306.chm"和"close_wait_0306"可能是关于这个问题的文档或日志文件,它们可能包含了更详细的错误信息、堆栈跟踪或连接状态的历史记录。CHM文件是Microsoft的帮助文件格式,通常包含软件的文档或技术...
TIME_WAIT状态的目的是确保网络中不存在旧的、可能重复的数据包,从而避免对新连接造成干扰,并确保TCP连接的可靠关闭。 并非所有执行主动关闭的socket都会直接进入CLOSED状态。在TCP协议中,主动关闭连接的一方,...
2. **调整锁等待超时时间**:通过设置`innodb_lock_wait_timeout`参数来增加等待超时时间。但请注意,这仅是权宜之计,不是根本解决方案。 3. **监控和分析**:使用`SHOW ENGINE INNODB STATUS;`命令查看当前的锁...
当服务器处理大量的短连接请求时,这些连接在断开后会进入TIME_WAIT状态并占用一段时间,这可能导致系统中TIME_WAIT状态的连接数量迅速累积,进而消耗较多的资源。 #### 解决方案 针对这一问题,可以通过调整Linux...
在深入探讨如何有效释放TIME_WAIT状态的连接之前,我们首先需要理解TIME_WAIT状态的基本概念及其在TCP协议中的作用。TIME_WAIT是一种TCP连接的状态,当一个TCP连接被主动关闭时,客户端会进入TIME_WAIT状态,目的是...