美文网首页
MySQL thread_stack连接线程的优化

MySQL thread_stack连接线程的优化

作者: 古飞_数据 | 来源:发表于2023-04-24 16:53 被阅读0次
mysql> show variables like 'thread%';
+-------------------+---------------------------+
| Variable_name     | Value                     |
+-------------------+---------------------------+
| thread_cache_size | 9                         |
| thread_handling   | one-thread-per-connection |
| thread_stack      | 1048576                   |
+-------------------+---------------------------+
3 rows in set (0.01 sec)

Thread_cache_size:Thread Cache池中应该存放的连接线程数。
Thread_stack:每个连接线程被创建时,MySQL给它分配的内存大小。当MySQL创建一个新的连接线程时,需要给它分配一定大小的内存堆栈空间,以便存放客户端的请求的Query及自身的各种状态和处理信息。

查看系统被连接的次数及当前系统中连接线程的状态值

mysql> show status like 'connections';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections   | 12    |
+---------------+-------+
1 row in set (0.00 sec)


mysql> show status like '%thread%';
+------------------------------------------+-------+
| Variable_name                            | Value |
+------------------------------------------+-------+
| Delayed_insert_threads                   | 0     |
| Mysqlx_worker_threads                    | 2     |
| Mysqlx_worker_threads_active             | 0     |
| Performance_schema_thread_classes_lost   | 0     |
| Performance_schema_thread_instances_lost | 0     |
| Slow_launch_threads                      | 0     |
| Threads_cached                           | 0     |
| Threads_connected                        | 1     |
| Threads_created                          | 1     |
| Threads_running                          | 2     |
+------------------------------------------+-------+
10 rows in set (0.00 sec)

系统启动到现在共接受到客户端的连接12次,共创建了1个连接线程,当前有2个连接线程处于和客户端连接的状态,只有2个处于 active 状态,即只有2个正在处理客户端提交的请求,。而在Thread Cache池中共缓存了0个连接线程

Thread Cache 命中率:
Thread_Cache_Hit = (Connections - Threads_created) / Connections * 100%;
一般在系统稳定运行一段时间后,Thread Cache命中率应该保持在90%左右才算正常。

实际应用:

针对16G/32G的机器,一般设置 512K

相关文章

  • MySQL存储引擎 - mage

    MySQL结构 MySQL是进程/线程模型 进程/线程: 主要是控制客户端连接,做权限校验,最大连接数,查询缓存,...

  • MySql性能优化思路

    mySQL 性能优化 1 连接 Connections 经常会遇见”mysql: error 1040: too ...

  • MySQL架构

    MySQL逻辑架构 连接/线程处理 连接前先验证客户端 连接后验证客户...

  • MySQL主从复制 - mage

    MySQL 主从复制 MySQL主从复制具体的过程为master启动dump线程,和slave的IO的线程建立连接...

  • 高性能MySQL-笔记

    高性能MySQL 1、MySQL结构 每个客户端连接会在服务器进程中拥有一个线程,该连接的查询只会在单独的线程中执...

  • MySQL提高并发数

    一、MySQL并发连接数 MySQL是单进程,多线程的架构,通过创建多个线程来服务于不同的用户连接。通常情况下,随...

  • MySQL优化

    MySQL优化相关序 为什么需要MySQL优化?避免出现页面访问错误由于数据库连接timeout产生页面5xx的错...

  • SQL优化

    MySQL优化 体系结构 MySQL Server由以下组成:Connection Pool(连接池组件);Man...

  • MySQL MVCC实现原理

    1.Mysql特点 可靠、事务、开源。 2.MySQL架构 接入层,连接通信、权限验证、连接池、线程管理 服务层,...

  • 64MySQL-分页查询&表连接&count统计&索引优化总结

    1 Mysql 分页查询sql 执行原理? 2,千万级数据mysql 分页查询如何优化 3,Mysql表连接底层实...

网友评论

      本文标题:MySQL thread_stack连接线程的优化

      本文链接:https://www.haomeiwen.com/subject/llwujdtx.html