• 实时查看mysql连接数


    mysql> show status like 'Threads%';
    +-------------------+-------+
    | Variable_name | Value |
    +-------------------+-------+
    | Threads_cached | 58 |   ###代表当前此时此刻线程缓存中有多少空闲线程
    | Threads_connected | 57 | ###代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数
    | Threads_created | 3676 |  ###代表从最近一次服务启动,已创建线程的数量(表示创建过的线程数)
    | Threads_running | 4 | ###这个数值指的是激活的连接数,这个数值一般远低于connected数值
    +-------------------+-------+

    Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数

    经常会遇见”mysql: error 1040: too many connections”的情况,一种是访问量确实很高,mysql服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是mysql配置文件中max_connections值过小: 

    mysql> show variables like ‘max_connections‘;

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

    | variable_name  | value   |

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

    | max_connections | 256  |

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

    这台mysql服务器最大连接数是256,然后查询一下服务器响应的最大连接数:

     mysql> show global status like ‘max_used_connections‘; 

    mysql服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是

     max_used_connections / max_connections * 100% ≈ 85% 

    最大连接数占上限连接数的85%左右,如果发现比例在10%以下,mysql服务器连接数上限设置的过高了。

    threads_created表示创建过的线程数,如果发现threads_created值过大的话,表明mysql服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,

    查询服务器 thread_cache_size 配置: 

    mysql> show variables like ‘thread_cache_size‘;

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

    | variable_name   | value   |

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

    | thread_cache_size | 64   |

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

    示例中的服务器还是挺健康的。

  • 相关阅读:
    2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告
    20155325 2016-2017-2 《Java程序设计》第8周学习总结
    20155325《Java程序设计》实验一(Java开发环境的熟悉)实验报告
    20155323 2016-2017-2《Java程序设计》课程总结
    20155323 第五次实验 网络编程与安全
    20155323课堂实践20170531
    20155323课堂实践20170524
    20155323 第四次实验 Android程序设计实验报告
    20155323课堂实践20170517
    20155323课堂实践20170510
  • 原文地址:https://www.cnblogs.com/xwjBlog/p/13098931.html
Copyright © 2020-2023  润新知