MySQL连接资源占用与状态分析(v1)
2006-11-14 18:35
295 查看
1 怎么查看连接信息
MySQL一个连接就是线程。
查看连接状态:
mysql> show status;
Threads_cached | 0 |
| Threads_connected | 1 | //正在连接的连接数
| Threads_created | 3 | //已经创建过的连接数
| Threads_running | 1 | //正在运行的连接数
| Uptime | 22947 |
查看连接参数:
mysql> show variables;
| max_connections | 16384 //允许的最大连接数
查看连接线程状态:
mysql> show processlist;
+----+-----------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------+-----------+------+---------+------+-------+------------------+
| 3 | denny | localhost | NULL | Query | 0 | NULL | show processlist |
+----+-----------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)
2 连接资源的分配
key_buffer_size 指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能。read_buffer_size = 4M 读查询操作所能使用的缓冲区大小。
join_buffer_size = 8M 联合查询操作所能使用的缓冲区大小.
sort_buffer_size
注意:每个连接使用具体线程的空间, 下面参数每个连接独占:
堆栈(默认64KB,变量thread_stack)
连接缓存区(变量net_buffer_length)
结果缓存区(变量net_buffer_length)
接缓存区和结果缓存区可以根据需要动态扩充到max_allowed_packet。
max_allowed_packet = 4M
如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 6 = 600MB。
对于每个打开的MyISAM表,索引文件打开一次;数据文件为每个并行运行的线程打开一次。对于每个并行线程,将分配一个表结构、一个每个列的列结构和大小为3 * N的缓存区(其中N是最大行的长度,而不是计算BLOB列)。一个BLOB列需要5至8个字节加上BLOB数据的长度。MyISAM 存储引擎维护一个额外的行缓存区供内部应用。
当并行执行的线程结束时,FLUSH TABLE语句或mysqladmin flush-table命令可以立即关闭所有不使用的表并将所有使用中的表标记为已经关闭。这样可以有效释放大多数使用中的内存。FLUSH TABLE在关闭所有表之前不返回结果。
内存使用下面的加起来不要超过2G:(一些系统对文件大小的限制,一个表就是一个文件)
innodb_buffer_pool_size
+ key_buffer_size
+ max_connections * (sort_buffer_size + read_buffer_size + binlog_cache_size)
+ max_connections * 2MB //thread stack
相关文章推荐
- MySQL连接资源占用与状态分析(v1)
- Mysql 占用cpu资源高的分析
- Mysql 占用cpu资源高的分析
- mysql占用CPU资源高的分析
- MySQLConnection创建后必须关闭,否则W3WP.EXE一直占用MYSQL连接
- awk分析mysql状态
- MySQL服务器连接过程分析
- 历史执行Sql语句性能分析 CPU资源占用时间分析
- mysql状态分析之show global status
- mysql 执行状态分析 show processlist
- PHP-php-fpm占用系统资源分析
- 解决mysql 空闲后连接超时(和持续1800秒以上的非活动状态,导致超时,请重新登录)两种情况
- mysql 运行状态分析 运行故障排查
- mysql 执行状态分析 show processlist
- Mysql DNS反向解析导致连接超时过程分析(skip-name-resolve)
- TCP连接状态分析:SYNC_RECV,CLOSE_WAIT,TIME_WAIT
- MySQL 分析服务器状态
- mysql中左连接后,最终的记录数大于左边表的记录分析
- MySQL数据库服务器逐渐变慢分析与解决(7) 根据mysql状态调整系统参数
- TCP连接状态解析和过程分析