1.查看连接参数(show variables)

mysql> show variables like ‘%connect%‘;

+-----------------------------------------------+-----------------+

| Variable_name | Value |

+-----------------------------------------------+-----------------+

| character_set_connection | utf8 |

| collation_connection | utf8_general_ci |

| connect_timeout | 10 |

| disconnect_on_expired_password | ON |

| init_connect | |

| max_connect_errors | 100 |

| max_connections | 151 |

| max_user_connections | 0 |

| performance_schema_session_connect_attrs_size | 512 |

+-----------------------------------------------+-----------------+

2.查看连接状态(show status)

mysql> show status like ‘%connections%‘;

+-----------------------------------+-------+

| Variable_name | Value |

+-----------------------------------+-------+

| Connection_errors_max_connections | 0 |

| Connections | 197 |

| Max_used_connections | 2 |

+-----------------------------------+-------+

Connection_errors_max_connections 当MySQL的最大并发数大于系统变量(show variables)中max_connections的最大并发数,因此而被拒绝的次数,将会记录在这个变量里。如果Connection_error_max_connections值比较大,则说明当前系统并发比较高,要考虑调大max_connections的值。

Connections表示MySQL从启动至今,成功建立连接的连接数,这个值是不断累加的。

Max_used_connections表示MySQL从启动至今,同一时刻并发的连接数,取得是最大值。如果这个值大于 max_connections则表明系统经常处于高并发的状态,应该考虑调大最大并发连接数。

3、连接线程参数(thread variabls and status)

mysql> show variables like ‘thread%‘;

+--------------------+---------------------------+

| Variable_name | Value |

+--------------------+---------------------------+

| thread_cache_size | 9 |

| thread_concurrency | 10 |

| thread_handling | one-thread-per-connection |

| thread_stack | 262144 |

+--------------------+---------------------------+

thread_cache_size 设置连接线程缓存的数目。这个缓存相当于MySQL线程的缓存池(thread cache pool),将空闲的连接线程放入连接池中缓存起来,而非立即销毁。当有新的连接请求时,如果连接池中有空闲的连接,则直接使用。否则要重新创建线程。创建线程是一个不小的系统开销。

thread_handling 默认值是: one-thread-per-connection 表示为每个连接提供或者创建一个线程来处理请求,直至请求完毕,连接销毁或者存入缓存池。当值是no-threads 时,表示在始终只提供一个线程来处理连接,一般是单机做测试使用的。

thread_stack stack 是堆的意思,知道进程和线程都是有唯一的ID的,进程的ID系统会维护,二线程的ID,则由具体的线程库区维护,当进程或者线程休眠的时候,进程的上下文信息要在内存中开辟出一块区域,保存进程的上下文信息,以便于迅速唤醒程序。默认为MySQL的每个线程设置的堆栈大小为:262144/1024=256k

4.查看线程状态信息

mysql> show status like ‘Thread%‘;

+-------------------+-------+

| Variable_name | Value |

+-------------------+-------+

| Threads_cached | 1 |

| Threads_connected | 1 |

| Threads_created | 2 |

| Threads_running | 1 |

+-------------------+-------+

Thread_cached 当前线程池的线程数

Thread_connected 当前的连接数

Thread_cached: 当前连接线程创建数, 如果这个值过高,可以调整threadcachesize 也就是调整线程缓存池的大小。

Thred_runnint: 当前活跃的线程数。

5.连接请求堆栈

MySQL在很短的时间内,突然收到很多的连接请求时,MySQL会将不能来得及处理的连接请求保存在堆栈中,以便MySQL后续处理。back_log参数设置了堆栈的大小,可以通过如下命令查看:

mysql> show variables like ‘back_log‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| back_log | 80 |

+---------------+-------+

6.连接异常

mysql> show status like ‘Aborted%‘;

+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| Aborted_clients | 0 |

| Aborted_connects | 219 |

+------------------+-------+

Aborted_clients MySQL 客户机被异常关闭的次数。

Aborted_connects 试图连接到MySQL服务器而失败的连接次数。

7.other

mysql> show status like ‘Slow%‘;

+---------------------+-------+

| Variable_name | Value |

+---------------------+-------+

| Slow_launch_threads | 0 |

| Slow_queries | 0 |

+---------------------+-------+

mysql> show variables like ‘slow_launch_time‘;

+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| slow_launch_time | 2 |

+------------------+-------+

Slow_lunch_threads 创建线程的时间过长,超过slow_launch_time的设定值,则会记录。

8.可以通过使用 Connection_error%来查看连接的错误状态信息:

mysql> show status like ‘Connection_error%‘;

+-----------------------------------+-------+

| Variable_name | Value |

+-----------------------------------+-------+

| Connection_errors_accept | 0 |

| Connection_errors_internal | 0 |

| Connection_errors_max_connections | 0 |

| Connection_errors_peer_address | 0 |

| Connection_errors_select | 0 |

| Connection_errors_tcpwrap | 0 |

+-----------------------------------+-------+

Connection_errors_peer_address 查找MySQL客户机IP地址是发生的错误数。

(一)MySQL 连接优化

标签:拒绝   存在   测试   sel   客户机   休眠   客户   like   上下

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/sunziying/p/6538668.html

mysql 连接 优化_(一)MySQL 连接优化相关推荐

  1. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  2. mysql not in优化_实践中如何优化MySQL(收藏)

    SQL语句的优化: 1.尽量避免使用子查询 3.用IN来替换OR 4.LIKE前缀%号.双百分号._下划线查询非索引列或*无法使用到索引,如果查询的是索引列则可以 5.读取适当的记录LIMIT M,N ...

  3. mysql 优化_常用MySQL优化

    1.大批量插入数据优化 (1)对于MyISAM存储引擎的表,可以使用:DISABLE KEYS 和 ENABLE KEYS 用来打开或者关闭 MyISAM 表非唯一索引的更新. ALTER TABLE ...

  4. 数据库查询语句慢如何优化_常见Mysql的慢查询优化方式

    1 概念 MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句. 具体环境中,运行时间超过long_query_time值的SQL语句,则 ...

  5. mysql amp;amp;_浅析mysql交互式连接amp;非交互式连接

    交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tom ...

  6. MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...

    本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1.   首先使用两个简单的查询语句: 查询当前版本:se ...

  7. mysql python插件_基于SQLAlchemy连接mysql库(pymsql插件)

    # -*- coding:UTF -8-*-import osimport pandas as pd# 检查是否有pymysql这个包存在import pymysql# SQLAlchemy本身无法操 ...

  8. mysql distinct 慢_分析MySQL中优化distinct的技巧

    有这样的一个需求:select count(distinct nick) from user_access_xx_xx; 这条sql用于统计用户访问的uv,由于单表的数据量在10G以上,即使在user ...

  9. 阿里云mysql写入性能_插入mysql类型

    MySQL的五种日期和时间类型 MySQl中有多种表示日期和时间的数据类型.其中YEAR表示年份,DATE表示日期,TIME表示时间,DATETIME和TIMESTAMP表示日期和实践.它们的对比如下 ...

  10. mysql多大_洞悉MySQL底层架构:游走在缓冲与磁盘之间

    提起MySQL,其实网上已经有一大把教程了,为什么我还要写这篇文章呢,大概是因为网上很多网站都是比较零散,而且描述不够直观,不能系统对MySQL相关知识有一个系统的学习,导致不能形成知识体系.为此我撰 ...

最新文章

  1. CoreData的简单使用
  2. C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息
  3. JVM-白话聊一聊JVM类加载和双亲委派机制源码解析
  4. 利用HttpClient 获取网页数据java代码模版
  5. ueditor 上传视频丢失src的解决方法
  6. 部署桌面虚拟化时要考虑的因素
  7. python录音pyaudio_Python开发之路(1)-用pyaudio录制和广播,使用,Pyaudio,进行,录音,播音...
  8. 量表与问卷的区别比较
  9. Termux使用教程
  10. 【日志分析】Window日志分析
  11. 51万年历林贤文:做一个不“安分”的程序员(转)
  12. Android中如何屏蔽IP地址
  13. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危害病人的病情变化,还可能会延误抢救时机.某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统
  14. 黑白棋(Othello)
  15. HCIE必经之路(五)——OSPF综合实验(STUB及NSSA)
  16. java游戏boss是冰龙_炉石传说冒险模式冰龙区Boss技能及过关卡牌奖励
  17. 李狗蛋和二狗子因为HTTP or RPC打起来了No.135
  18. 剑桥学霸强烈推荐:每天花20分钟看这些视频,英语水平暴增
  19. 服务器为什么能够稳定可靠运行?
  20. jsp+ssm+mysql实现的毕业设计管理系统项目

热门文章

  1. Spring Boot集成kafka完整版
  2. MySQL和Oracle中的隐式转换
  3. Unix高级环境编程—进程控制(一)
  4. Android原生(Native)C开发之二 framebuffer篇
  5. 计算机网络——数据通信过程
  6. 基于Python的QPSK音频的波形和频谱
  7. 如何在数字前面填充0,在股票代码前面补上0的三种方法
  8. 如何批量创建网页的快捷方式
  9. 20nian5yue最热门的Python开源项目
  10. ES6 一些常用使用