MySQLは、WordPress、Joomla、Magentoなどの多くのWebベースのパッケージで使用される、非常に用途が広く高性能なリレーショナルデータベース管理システムです。デフォルトの構成では妥当なパフォーマンスが得られますが、データベースから可能な限り最高の速度を確実に得る方法は常にあります。
ホスティングプロバイダーとして、私たちは常に「より高速な」サーバーまたはより多くのリソースを求められていますが、多くの場合、これは問題の解決にはなりません。既存のセットアップのより良い最適化とパフォーマンス調整は、常に最初のステップである必要があります。
これらの手順は、専用または仮想プライベートサーバー(VPS)のみを対象としています。ホスティングを共有していて、データベースのパフォーマンスを向上させる必要がある場合は、VPSへの移行についてConetixチームに相談してください。
警告! 変更を加える前に、まずデータベースがバックアップされていることを確認してください。
問題の診断に役立つ最も簡単なツールの1つは、MySQLTunerです。これは、データベースサービスの現在のパフォーマンスを分析するPerlベースのスクリプトです。
このツールは、データベースを再起動した直後ではなく、使用してから数時間後に実行することをお勧めします。
-
MySQLTunerスクリプトをダウンロードします:
wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
-
実行権限を追加します:
chmod +x mysqltuner.pl
-
次に、スクリプトを実行します:
./mysqltuner.pl
警告! MySQLTunerは、変更する設定の初期のアイデアを提供するのに優れていますが、何を理解してください。 構成を編集する前に変更します。一部の変更により、パフォーマンスが低下し、最悪の場合、適切な注意と注意を払わないとデータが失われる可能性があります。
ここにいくつかの基本的なヒントがあります:
- InnoDBのメモリ割り当て(innodb_buffer_pool_size)を調べて、MySQLに十分なメモリが割り当てられていることを確認します。
- インデックスなしで実行された結合に関する警告を確認します。特に大量の行がある場合、これらの実行は非常に遅くなる可能性があります。
- 断片化されたテーブルを確認します。
- MySQLのEXPLAINコマンドを使用して、クエリのパフォーマンスの問題を特定します。
他にも多くのヒント、微調整、拡張機能があります。MySQLTunerの提案を使用して、正しい方向を示し、この問題についてGoogle検索をいくつか実行してください。 Conetixをご利用の場合は、サポートチケットをログに記録すると、基本的な分析が完全に無料で実行されます。
- InnoDBパフォーマンスチューニング:http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html
- Oracleのパフォーマンスに関するトップ10のヒント:https://wikis.oracle.com/pages/viewpage.action?pageId=27263381
- MySQLを使用した結合のインデックスを作成する方法:hackmysql.com/case4
- MySQL EXPLAINの説明:http://www.slideshare.net/phpcodemonkey/mysql-explain-explained