TOPサーバ構築・運用> max_connectionsのチューニング
MySQLチューニング
はじめてのMySQLチューニング

第3回:max_connectionsとthread_cacheのチューニングを行う

著者:アールワークス  田中 靖之   2007/7/17
1   2  3  次のページ
max_connectionsのチューニング

   前回「第2回:負荷によるベンチマークを試す」の測定結果では、測定途中でmax_connectionsに達してしまい、計画していた測定を完了することができませんでした。そこでmax_connectionsを増やして、再度測定してみましょう。

   max_connectionsを増やすには2通りの手段があります。まず「/etc/my.cnf」に設定を追記する方法です。設定値は450に変更します。
[mysqld]
max_connections=450

   上記のように、[mysqld]の設定にmax_connections=450を追記します。その後、下記のコマンドでMySQLサービスを再起動してください。

# /etc/init.d/mysql restart

   一方、稼動中でもmax_connectionsは変更することもできます。その際は下記のコマンドを実行します。

$ mysql -u root -p
mysql> set global max_connections=450;

   いずれの方法でも結果は同じです。正しく変更できたかどうかを確認しましょう。




max_connectionsチューニング後の測定結果

   設定変更後、再度負荷テストを実施しました。以下がその結果です。

再度行った負荷テストの結果
図1:再度行った負荷テストの結果
(画像をクリックすると別ウィンドウに拡大図を表示します)

   今回は何とか同時接続数400まで測定できました。Queries_per_secが安定しているかどうかをあらわす境界線手前の測定では、Max_used_connectionsは128まで上昇しました。

   ではmax_connectionsの変更は性能向上に効果があったといえるかというと、そうでもないのです。なぜならQueries_per_secは最初の測定結果と同様の傾向で、性能低下も同じようなタイミングで発生しているからです。

   この結果から、無闇にmax_connectionsを増やしても性能は向上しないことがわかります。

1   2  3  次のページ


株式会社アールワークス 田中 靖之
著者プロフィール
株式会社アールワークス  田中 靖之
ネットワークインテグレーション部
主にWebサービス系のシステム運用監視を担当するネットワークインテグレーション部に所属。システム改善やチューニングを顧客と共に考える姿勢を大事にしている。


INDEX
第3回:max_connectionsとthread_cacheのチューニングを行う
max_connectionsのチューニング
  thread_cacheについて
  thread_cacheチューニング後の測定結果