まず最初に、この記事で使ったツールを添付してください。私はリモートサーバーなので、データベースクエリツールをインストールできず、私が書いた一般的なクエリソフトのみを使えます。以下の通りです。
1.mysql> 'Threads%' のようなステータスを表示します。
[{"Variable_name":"Threads_cached","Value":0"},{"Variable_name":"Threads_connected","Value":101"},{"Variable_name":"Threads_created","Value":119"},{"Variable_name" :"Threads_running","Value":2"}]
Threads_connected #这个数值指的是打开的连接数 Threads_running #这个数值指的是激活的连接数、この値は一般的に接続値よりもはるかに小さいです Threads_connected 結果はshow processlistと同じで、現在の接続数を示します。 正確には、Threads_runningは現在の並行回数を表します
2.mysql> 表示:'%max_connections%' のような変数;
[{"Variable_name":"max_connections","Value":151"}]
これはクエリデータベースが現在設定する最大接続数です
/etc/my.cnf でデータベースへの最大接続数を設定できます [mysqld] max_connections = 1000 max_connectionsパラメータを使ってデータベースへの最大接続数を制御できます:
3.mysql> 表示:『%connect%』のような変数を表示します。
[{"Variable_name":"character_set_connection","Value":"utf8"},{"Variable_name":"collation_connection","Value":"utf8_general_ci"},{"Variable_name":"connect_timeout"," Value":"10"},{"Variable_name":"disconnect_on_expired_password","Value":ON"},{"Variable_name":"init_connect","Value":""},{"Variable_name":"max_connect_errors","Value" :"100"},{"Variable_name":"max_connections","Value":151"},{"Variable_name":"max_user_connections","Value":0"},{"Variable_name":"performance_schema_session_connect_ attrs_size","Value":"512"}]
多くの開発者は「MySQL: ERROR 1040: Too many connection s」という異常な状況に遭遇します。この状況の一因は、訪問回数が多すぎてMySQLサーバーがそれに耐えられないため、サーバーからの分散リードの圧力を高める必要があるためです。 もう一つの理由は、MySQLの設定ファイルのmax_connections値が小さすぎることです。
|