mysql - 关于mysql参数max_connections的问题
问题描述
1.下面是mysql配置文件,/db/mysql/app/mysql/my.cnf
我们设置 max_connections=4000
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
port=3306
socket=/db/mysql/data/mysqltmp/mysql.sock
[mysqld]
basedir=/db/mysql/app/mysql
datadir=/db/mysql/data/mydata
tmpdir=/db/mysql/data/mydata/tmp
bind-address=10.200.212.67
port=3306
wait_timeout=86400
server_id=2
user=mysql
socket=/db/mysql/data/mysqltmp/mysql.sock
skip-name-resolve
lower_case_table_names=1
default-storage-engine=InnoDB
max_heap_table_size=32M
thread_stack = 512K
key_buffer_size=256M
sort_buffer_size=2M
join_buffer_size=2M
innodb_file_per_table=1
innodb_open_files=2048
back_log=1000
max_connections=4000
open_files_limit=65535
table_open_cache=128
log_bin=mysql-bin
binlog_format=MIXED
expire_logs_days=7
log_error=/db/mysql/data/mydata/mysql-error.log
pid-file=/db/mysql/app/mysql/mysql.pid
slow_query_log=1
long_query_time=2
slow_query_log_file=/db/mysql/data/mydata/mysql-slow.log
max_allowed_packet=256M
binlog_cache_size=2M
innodb_buffer_pool_size = 8192M
innodb_write_io_threads=4
innodb_read_io_threads=4
innodb_thread_concurrency=0
innodb_purge_threads=1
innodb_flush_log_at_trx_commit=2
innodb_log_buffer_size=64M
innodb_log_file_size=512M
innodb_log_files_in_group=3
innodb_lock_wait_timeout=7200
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
gtid-mode=ON
enforce_gtid_consistency=1
log-slave-updates=1
2.当我们在高峰时间做一些申请时,
另外,mysql问题期间,最大连接数小于1000,db max_connections设置为4000
当连接到 1000 时,应用程序会报告超时 30000ms。所以应用程序连接失败,。
3.问题是是否有其他隐藏限制导致连接数不能超过1000?
解决方案
推荐阅读
- python - 只用 pandas 获取每组的第一行和最后一行
- c# - OpenXML-InnerText 始终是整数而不是字符串
- moodle - 自定义 Moodle
- php - html_entity_decode 并非所有实体都转换回来
- r - 让所有标签和箭头可读且分布均匀
- sharepoint-2013 - 是否有任何 Powershell 脚本来获取/更新术语集导航 url
- hyperledger-fabric - 当背书节点宕机时会发生什么?
- python - CVXPY 求解器的输出相互矛盾
- android - firebase 检索具有空字段的节点
- python - 如果在从源代码构建后移动 python 3 目录,则没有名为“编码”的模块