mysql cpu核心参数_mysql核心参数优化

MySQL数据库服务器配置

CPU的优化

内存的优化

IO的优化

连接的优化

数据一致性的优化

1.描述back_log参数的作用?

back_log = 500 要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,

这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。

不需要配置 =50 + (max_connections / 5),===50+ 3000/5=650

Default Value -1 (autosized)

back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,

你需要增 加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。

你的操作系统在这个队列大小上有它自己的限制。试图设定 back_log高于你的操作系统的限制将是无效的。

当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login |

NULL 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。

作用:MySQL每处理一个连接请求的时候都会对应的创建一个新线程与之对应,那么在主线程创建新线程期间,如果前端应用有

大量的短连接请求到达数据库,MySQL 会限制此刻新的连接进入请求队列,由参数back_log控制,如果等待的连接数量超过back_log,

则将不会接受新的连接请求,所以如果需要MySQL能够处理大量的短连接,需要提高此参数的大小。 现象:如果参数过小可能会导致应用报错

2.描述thread_cache_size参数的作用?

thread_cache_size = 64  缓存可重用线程数,减小创建新线程的开销)

可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,

当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性 能可以这个变量值。通过比较 Connections 和 Th

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个 MySQL 8.0版本性能参数优化脚本示例: ```bash #!/bin/bash # MySQL 8.0参数优化脚本 # 获取当前CPU核心cpu_cores=$(grep -c ^processor /proc/cpuinfo) # 获取当前内存总量 total_mem=$(free -b | grep Mem | awk '{print $2}') # 计算innodb_buffer_pool_size参数大小 innodb_buffer_pool_size=$(echo "scale=0; $total_mem * 0.8" | bc) echo "innodb_buffer_pool_size = $innodb_buffer_pool_size" # 计算innodb_log_file_size参数大小 innodb_log_file_size=$(echo "scale=0; $total_mem * 0.05 / 2" | bc) echo "innodb_log_file_size = $innodb_log_file_size" # 计算innodb_read_io_threads参数大小 innodb_read_io_threads=$(echo "scale=0; $cpu_cores * 2" | bc) echo "innodb_read_io_threads = $innodb_read_io_threads" # 计算innodb_write_io_threads参数大小 innodb_write_io_threads=$(echo "scale=0; $cpu_cores * 2" | bc) echo "innodb_write_io_threads = $innodb_write_io_threads" # 计算innodb_thread_concurrency参数大小 innodb_thread_concurrency=$(echo "scale=0; $cpu_cores * 2" | bc) echo "innodb_thread_concurrency = $innodb_thread_concurrency" # 检查并设置参数 mysql -e "SET GLOBAL innodb_buffer_pool_size=$innodb_buffer_pool_size;" mysql -e "SET GLOBAL innodb_log_file_size=$innodb_log_file_size;" mysql -e "SET GLOBAL innodb_read_io_threads=$innodb_read_io_threads;" mysql -e "SET GLOBAL innodb_write_io_threads=$innodb_write_io_threads;" mysql -e "SET GLOBAL innodb_thread_concurrency=$innodb_thread_concurrency;" ``` 该脚本会根据当前系统的CPU核心数和内存总量计算出可用的 innodb_buffer_pool_size、innodb_log_file_size、innodb_read_io_threads、innodb_write_io_threads 和 innodb_thread_concurrency 参数大小,并设置相应的参数值。你可以根据实际情况修改计算公式和需要设置的参数。注意,执行该脚本需要有足够的权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值