私は、8 コアと 16GB RAM で mysql のみを実行している Linux ボックスを使用しています。すべての接続は、codeigniter を使用して php を実行している同じネットワーク内の別のマシン上の Web サーバーから行われます。
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であると言っているので、mysqlへのリクエストを制限しているPHP、apache、またはcodeigniterに他の設定があると思いましたが、見つかりません。私は数日間グーグルを検索して、運がなければ答えを見つけようとしました。
上記のソフトウェアのいずれかに制限が設定されていますか? 必要に応じて構成を投稿します。
ありがとうございました。