トップ  > MySQL  > 高速化・負荷分散  > 記事

No.3031 max_connectionsとは

max_connectionsとは

<IFRAME WIDTH=150 HEIGHT=150 MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no BORDERCOLOR="#000000" SRC="http://ngs.impress.co.jp/html.ng/site=TI&sp=ti_rec_bage&article=general"> <A HREF="http://ngs.impress.co.jp/click.ng/Params.richmedia=yes&site=TI&sp=ti_rec_bage&article=general"><IMG SRC="http://ngs.impress.co.jp/image.ng/Params.richmedia=yes&site=TI&sp=ti_rec_bage&article=general"></A> </IFRAME>    max_connectionsとは、「MySQLサーバが許可する、MySQLクライアントの同時接続最大数」です。この値は、MySQLクライ アントから無制限にコネクションが張られることによってMySQLサーバの負荷が増大し、最終的にはサービスが停止してしまう…といった事態を防ぐため に、同時接続してよいMySQLクライアントの数を制限することが目的です。

   さらにもう少しパフォーマンスに注目していい換えれば、MySQLサーバがもっとも良い効率で稼動できる範囲にMySQLクライアントの接続数を制限する、ということになります。

   あなたの環境ではいくつに設定されているでしょうか。パラメータ設定一覧を取得するコマンドは「第1回:定量的な情報収集のススメ」で説明した通りですので、以下のように実行してみましょう。
パラメータ設定一覧を取得
図1:パラメータ設定一覧を取得
(画像をクリックすると別ウィンドウに拡大図を表示します)

   特に意識して設定を変更していなければ、上記のようにデフォルト値である100が表示されるはずです。

   なお、実際に接続可能な数は「max_connections+1」で、SUPER権限を持つユーザ(rootなど)用に+1の接続が予約されてい ます。そうすることにより、max_connectionsに達してしまった場合でも、管理者は優先的にMySQLサーバへ接続して原因調査ができる仕組 みになっているのです。

 
現在の接続数確認方法

   先ほどの説明でmax_connectionsの設定値はわかりました。それでは今、どれくらいの数のMySQLクライアントが接続しているでしょうか。これについても、前回お話したように「mysqladmin」コマンドで取得可能です。

mysqladminコマンドを実行
図2:mysqladminコマンドを実行
(画像をクリックすると別ウィンドウに拡大図を表示します)

   Threads_cachedについては別途チューニング項目として取り上げますので後に譲るとして、その他のパラメータは以下の意味を持ちます。

パラメータ 意味
Max_used_connections これまでに記録された同時接続数の最大値
Threads_connected 現在開いている接続の数
Threads_created 接続を処理するために生成されたスレッド数
Threads_running スリープ状態になっていないスレッド数

表1:各パラメータの意味

   Max_used_connectionsはともかく、「スレッドって何?」という疑問が湧くかもしれません。ここでは単純化のために「スレッド数=MySQLクライアントの接続数」と理解してください。

   例えば図2の取得した情報を読み解くと「現在接続しているMySQLクライアントは2で、そのうち処理を実行中のものは1。これまでに接続された総数は12で、そのうち同時に接続された最大値は3である」となります。
 
1   2  3  次のページ

引用元

更新:2010/09/29 01:57 カテゴリ: MySQL  > 高速化・負荷分散 ▲トップ

Python

フロントエンド開発

Linux

web開発

サーバ管理

GCP

svn・git

ソース・開発

プロマネ

HTML・CSS

JavaScript

Alexa

Docker

webサービス運用

webサービス

Mac

MySQL

PHP

FuelPHP

ツール, ライブラリ

ビジネス

テンプレート

プレゼン

マネタイズ

負荷・チューニング

Windows

メール

メール・手紙文例

CodeIgniter

オブジェクト指向

UI・フロントエンド

cloud

マークアップ・テキスト

Flash

デザイン

DBその他

Ruby

PostgreSQL

ユーティリティ・ソフト

Firefox

ハードウェア

Google

symfony

OpenPNE全般

OpenPNE2

Hack(賢コツ)

OpenPNE3

リンク

個人開発

その他

未確認

KVS

ubuntu

Android

負荷試験

オープンソース

社会

便利ツール

マネー

Twig

食品宅配

WEB設計

オーディオ

一般常識

アプリ開発

サイトマップ

うずら技術ブログ

たませんSNS

rss2.0