MySQL : interactive_timeout v/s wait_timeout
Most of the database intensive applications are worring about the default values of these variables obviously. Developers used to inform me that they need to extend the wait_timeout value in order to complete the query execution.
After some googling, it is found that default “wait_timeout” value is good enough. We may need to reduce it to boost the server performance which will helpful to minimize the “sleep” process loaded in memory. Increasing number of sleeping process will reduces the server performance gradually. So always keep the default value and make it reduce until the program/application does not create any sleeping process which would helpful to improve the performance noticeable. Slow_log_query is another possible reason to have many sleeping process.
interactive_timeout : interactive time out for mysql shell sessions in seconds like mysqldump or mysql command line tools.
wait_timeout” : the amount of seconds during inactivity that MySQL will wait before it will close a connection on a non-interactive connection in seconds.
How to change the these variables
a. changing values at run time
Log in to the mysql console and set the variable.
mysql> SET interactive_timeout=200;
Query OK, 0 rows affected (0.01 sec) mysql> SET GLOBAL interactive_timeout=200;
Query OK, 0 rows affected (0.00 sec) mysql> show variables like "%timeout%";
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| connect_timeout | 200 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 200 |
| net_read_timeout | 200 |
| net_write_timeout | 200 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 200 |
+----------------------------+-------+
10 rows in set (0.00 sec)
b. Using my.cnf : Add the following values in /etc/my.cnf” and restart the mysql server.
[mysqld]
interactive_timeout=180
wait_timeout=180
Pls note that “wait_timeout” would be helpful to clear the sleeping process as “interactive_timeout” does not make any performance improvement since it affect the command line sessions. Obviously increasing the values of connect_timeout, net_read_timeout andnet_write_timeout would help to skip the timeout errors when lengthy queries are being executed.
How to kill the MySQL Sleeping process
mysql> show full processlist;
+-------+------------+---------------------+---------------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+------------+---------------------+---------------+---------+------+-------+-----------------------+
| 9435 | user | 192.168.10.15:52180 | db1 | Sleep | 26 | | NULL |
| 9943 | user | localhost:51179 | db2 | Sleep | 1 | | NULL |
| 9944 | user | localhost:54007 | db2 | Sleep | 29 | | NULL |
| 9947 | user | localhost:60638 | db2 | Sleep | 29 | | NULL |
| 10716 | root | localhost | NULL | Sleep | 5432 | | NULL |
| 10851 | root | localhost | NULL | Query | 0 | NULL | show full processlist |
+-------+------------+---------------------+---------------+---------+------+-------+-----------------------+
6 rows in set (0.00 sec) mysql> kill 9944;
Query OK, 0 rows affected (0.00 sec) mysql> show full processlist;
+-------+------------+---------------------+---------------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+------------+---------------------+---------------+---------+------+-------+-----------------------+
| 9435 | user | 192.168.10.15:52180 | db1 | Sleep | 7 | | NULL |
| 9943 | user | localhost:51179 | db2 | Sleep | 9 | | NULL |
| 9947 | user | localhost:60638 | db2 | Sleep | 10 | | NULL |
| 10716 | root | localhost | NULL | Sleep | 5473 | | NULL |
| 10851 | root | localhost | NULL | Query | 0 | NULL | show full processlist |
| +-------+------------+---------------------+---------------+---------+------+-------+-----------------------+
7 rows in set (0.01 sec)
mysql>
On thread startup, the session wait_timeout value is initialized from the global wait_timeout value or from the global interactive_timeout value, depending on the type of client (as defined by the CLIENT_INTERACTIVEconnect option to mysql_real_connect()).
参考:
http://www.serveridol.com/2012/04/13/mysql-interactive_timeout-vs-wait_timeout/
http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_wait_timeout
MySQL : interactive_timeout v/s wait_timeout的更多相关文章
- Ubuntu下mysql修改连接超时wait_timeout
命令行登入mysql show variables like '%timeout%':(其中有用的是: interactive_timeout 和wait_timeout 为28800,默认为8小 ...
- Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionExcep linux下mysql修改连接超时wait_timeout修改后就ok了
Linux下mysql修改连接超时wait_timeout 1,首先: show variables like '%timeout%': 显示结果: +------------------------ ...
- MySQL配置参数:wait_timeout
作者:老王 如果你没有修改过MySQL的配置,缺省情况下,wait_timeout 的初始值是. wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性 ...
- MySQL查看和修改wait_timeout
1.全局查看wait_timeout值 mysql> show global variables like 'wait_timeout'; 2.修改全局wait_timeout值 set glo ...
- MySQL中的配置参数interactive_timeout和wait_timeout(可能导致过多sleep进程的两个参数)
1)interactive_timeout:参数含义:服务器关闭交互式连接前等待活动的秒数.交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的 ...
- 设置mysql的interactive_timeout和wait_timeout的值
1,为什么要重新设置这两个变量的值? 因为如果数据库默认这两个变量的值是8小时(即28800秒)如果在8小时之内没有连接到数据库,等下次再连的时候就会抛连接超时,或连接关闭这样的异 常,但是多连接几次 ...
- mysql wait_timeout和interactive_timeout总结
(1)interactive_timeout:参数含义:服务器关闭交互式连接前等待活动的秒数.交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE ...
- MySQL:参数wait_timeout和interactive_timeout以及空闲超时的实现【转】
一.参数意思 这里简单解释一下两个参数,含义如下: interactive_timeout:The number of seconds the server waits for activity on ...
- interactive_timeout和wait_timeout(
mysql> show variables like "%timeout%"; +-----------------------------+----------+ | Va ...
随机推荐
- Python闭包实现的计数器
#!/usr/bin/env python #coding=utf-8 def generate_counter(): CNT = [0] def add_one(): CNT[0] = CNT[0] ...
- Oracle数据库中序列用法讲解
序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一 ...
- 让一个小Div(子)在大Div(父)中垂直水平都居中
方法1: .parent { width:800px; height:500px; border:2px solid #000; ...
- Executing modules as scripts
When you run a Python module with python fibo.py <arguments> the code in the module will be ex ...
- Redis - set类型操作
set类型操作 设置操作:sadd: sadd key value 给指定的key添加元素,重复返回0表示添加失败. srem: srem key valu ...
- C#_控件——DropDownList
1.html <asp:CheckBox ID="CheckBox11" runat="server" onclick="changecheck ...
- Condition的await-signal流程详解(转)
上一篇文章梳理了condtion,其中侧重流程,网上看到这篇文章文章介绍的很细.值得学习.特意转载过来. 转载请注明出处:http://blog.csdn.net/luonanqin 转载路径:h ...
- linux,下载与安装
1.下载地址 1.网易开源镜像站 http://mirrors.163.com 2.centos 官方站 http://www.centos.org 2.虚拟机 VirtualBox ------- ...
- dede取子栏目时重复显示同级栏目的终极解决方法
使用channelartlist标签时,当栏目没有子栏目是,会出现重复同级栏目的问题,解决方法如下: 先看下面的代码{dede:channelartlist typeid='2'} {dede:ty ...
- 行为识别笔记:HOG,HOF与MBH特征(转载)
在行为识别的iDT算法中,主要使用了HOG,HOF,MBH和Dense Trajectory四种特征.这里主要对前三者进行介绍. 1. HOG特征(histogram of gray) 此处HOG特征 ...