我在只运行 8 核和 16GB 内存的 mysql 的 linux 机器上。所有连接都来自同一网络中另一台机器上的 web 服务器,该机器使用 codeigniter 运行 php。
我无法在 mysql 上获得超过 150 个连接。
我的 my.cnf 是:
[mysqld]
user=mysql
port = 3306
socket = /tmp/mysql.sock
datadir = /usr/local/mysql/var/
skip-external-locking
max_connections=500
max_user_connections=500
open-files-limit = 500
key_buffer_size = 2048M
max_allowed_packet = 32M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 128M
thread_cache_size = 250
table_definition_cache = 1024
query_cache_size = 32M
query_cache_limit = 32M
table_cache=1024
max_heap_table_size=1024M
key_buffer=2048M
wait_timeout=60
thread_concurrency = 16
long_query_time = 1
tmp_table_size=256M
show status 返回 max_connections 和 max_user_connections 为 500。
由于 mysql 说连接限制为 500,我认为 PHP、apache 或 codeigniter 中还有其他设置限制了对 mysql 的请求,但我找不到任何设置。我已经在谷歌搜索了几天试图找到答案,但没有任何运气。
是否对上述任何软件设置了限制?如有必要,我将发布配置。
谢谢你。