分123第6回はMySQLのパラメタチューニング基礎として,MySQLのカテゴリ別のチューニングパラメタを解説します。第1回で,接続からSQL実行までの共通部分トランザクション管理やデータ永続化,インデックス管理などストレージエンジン固有部分に大別されると説明しました。この共通部分もパラメタチューニングの際には2つに分けることができます。設定可能なパラメタについてはリファレンスマニュアルの下記を参照して下さい。Referenceこのページでは,設定可能なシステム変数はSrvr列にYesの表示がされています。Dyn列がYesのシステム変数はサーバを再起動せずにSETコマンドで動的に変更なことを表しています。それぞれのパラメタがどのバージョンで利用かも併せて表示されており,各バージョンに示されたYesからデフォルト値や最小値/最大値などそれぞれのバージョンでの具体的な情報にリンクされています。接続スレッド関連のパラメタMySQLではクライアントから新しい接続が行われると,新たにスレッドを生成してSQL文の処理を行います。SQL文処理のために利用されるメモリの領域はこのスレッド毎に確保されます。接続できるクライアントの数の最大値は,生成されるスレッド数の最大値にもなります。MySQLサーバの最大接続数はグローバル変数max_connectionsで設定します。100000max_connections最大接続数は通常システムの要件から算出して行きます。システムとして想定される同時接続数を見積もり,そのうちデータベースまで到達するリクエストの比率,それぞれのデータベースでの処理時間を待ち行列理論に照らして考慮します。データベースに到達する同時リクエスト数が同じだとしても,処理時間が違う場合はデータベース内で同時に実行されている処理の件数も違ってくるため,同時接続数も違ってきます。注意すべき点は,システム開発の早い段階では見積もりの精度が高くないため,ある程度余裕を持たせた設計で始め,かつ段階的に見積もりの精度を高めていくことが求められることです。接続が切断されるとMySQLサーバ内の接続スレッドも破棄されます。コネクションプーリング機能を使用していない環境では,接続による接続スレッドの生成と切断による切断スレッドの破棄が繰り返され,オーバーヘッドとして無視できなくなります。STATUS文のConnectionsとThread_の値を監視することで確認できます。STATUS文の代わりにInformation_schemaのGLOBAL_STATUSテーブルを利用しています。sec)上記の例ではこれまでの接続回数CONNECTIONSの値と生成されたスレッド数THREADS_CREATEDが近い値となっており,接続スレッドの生成と破棄が繰り返されたことがわかります。このような環境ではスレッドを破棄せずにキャッシュして再利用するためにthread_cache_sizeの値を設定します。16384thread_cache_sizeスレッド毎にメモリを確保するパラメタは,接続数だけ個別に確保されるので同時接続数を大きすぎる値に設定してスワップ発生させてはいけません。同時処理件数が大きくなると処理の競合などによってスループットが低下する傾向があります。Editionのスレッドプールプラグインの利用を検討してください。日本オラクル(株)において,MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて,オーストラリア,インド,台湾などに在籍するチームメンバーを束ね,アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。