MYSQL数据库MySQL thread_stack连接线程的优化
《MYSQL数据库MySQL thread_stack连接线程的优化》要点: MYSQL数据库MySQL连接不仅能通过网络方式,还可以通过命名管道的方式,不论是哪种方式连接MySQL,在MySQL中都是通过线程的方式管理所有客户端请求的.每一个客户端连接都会有一个与之对应的连接线程.在MySQL中实现了一个Thread Cache池,将空闲的连接线程存放其中,而不是完成请求后就销毁.这样,当有新的连接请求时,MySQL首先会检查Thread Cache中是否存在空闲连接线程,如果存在则取出来直接使用,如果没有空闲连接线程,才创建新的连接线程.具体参数: MYSQL数据库mysql> show variables like 'thread%'; MYSQL数据库如图,系统设置了Thread Cache池最多将缓存25个连接线程,每个连接线程创建之初,系统分配192KB的内存堆栈给它. MYSQL数据库mysql> show status like 'connections'; MYSQL数据库mysql> show status like '%thread%'; MYSQL数据库系统启动到现在共接受到客户端的连接620次,共创建了7个连接线程,当前有1个连接线程处于和客户端连接的状态,而3个连接状态的线程中只有一个处于 active 状态,即只有一个正在处理客户端提交的请求,.而在Thread Cache池中共缓存了3个连接线程. MYSQL数据库实际应用: MYSQL数据库针对16G/32G的机器,一般设置 512K MYSQL数据库当然如果遇到下面的错误提示就应该考虑增加这个值了. MYSQL数据库mysql-debug: Thread stack overrun MYSQL数据库bug info MYSQL数据库报错信息: MYSQL数据库官方相应信息: MYSQL数据库The default (192KB) is large enough for normal operation. If the thread stack size is too small,it limits the complexity of the SQL statements that the server can handle,the recursion depth of stored procedures,and other memory-consuming actions MYSQL数据库可以使用 MYSQL数据库 MYSQL数据库查询当前数据库的默认线程栈的大小,一般情况下都能正常使用,但是当查询语句或者存储过程复杂时会报Thread stack overrun错误,此时只要修改默认配置就可以. MYSQL数据库解决 MYSQL数据库windows: 修改mysql安装目录下的my-small.ini或者my.ini设置为256k,或者更大,然后重启服务 MYSQL数据库[mysqld] MYSQL数据库[mysqld] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |