MySQL設定の自動最適化、PostgreSQL

設定の最適化は常に微妙な問題であり、最大のパフォーマンスを提供するパラメーターを正確に設定できるのは、多くの場合、既に負荷統計があり、ボトルネックが見えるアプリケーションプロセス中のみです。

ただし、DBMSの起動時に初期最適化を行うと非常に便利です。 この投稿では、mysqltunerおよびpgtuneユーティリティを使用してMySQLおよびPostgreSQLを自動的に最適化する方法について説明します。





MySQL




mysqlの最適化には、シンプルで使いやすいmysqltunerユーティリティがあります。

githubで無料で使用できます 。つまり、 こちらから入手できます 。 または、1つのコマンドでロードします。

wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
      
      







使い方は簡単です。mysqlを使用してmysqltuner.plをサーバーにアップロードし、ファイルの起動権限を設定します(または、perl mysqltuner.plを実行します)。

推奨事項を構成に入れ、mysql-serverを再起動します。 または、プロジェクトがすでに実行されており、再起動が望ましくない場合は、mysqlコンソールで「オンザフライ」を使用します。

mysqlの構成のヒントに加えて、mysqlがしばらく使用されている場合、ユーティリティはテーブルのインデックスと断片化に関する情報も表示します。

インデックスはしばしば忘れられ、システムリソースの消費が大幅に増加します。

インデックスの配置は、データベースの構造を設計した人に任せるのが最適ですが、自分で行うこともできます。

最適化するには、mysqlコンソールからOPTIMIZE TABLEを実行しますが、phpMyAdminのようなインターフェースを介してすべてのテーブルに対して一度に行う方が便利です。



プロジェクトのプロセスをさらに最適化するために、すでに状況を調査し、必要なパラメーターを増やしています。

有用な情報は、 この記事で私の同僚によって説明されています



パフォーマンスを向上させるには、Perconaサーバーを使用して標準のMySQLサーバーを置き換えると便利です。

パフォーマンスグラフからメリットを判断できます

HabréのPercona Serverに関する記事はすでに多数ありますが、将来、このアセンブリの使用経験を共有します。



PostgreSQL




PostgreSQLの設定を調整するために、 pgtuneと呼ばれる便利なユーティリティもあります。



mysqltunerとは異なり、このユーティリティは推奨事項を提供しませんが、PostgreSQLを実行しているシステムに最適なパラメーターを使用して構成ファイルpostgresql.confをすぐに作成します。



使用パターンは次のとおりです。



pgtune -i $PGDATA/postgresql.conf -o $PGDATA/postgresql.conf.pgtune









ここで、$ PGDATAはpostgresql.confサーバー設定があるディレクトリへのパスです。 出力はpostgresql.conf.pgtuneファイルであり、このファイルにはユーティリティによって選択されたパラメーターが設定されます。 ユーティリティは、ブロックの後にファイルの最後にこれらのパラメーターを書き込みます



 #------------------------------------------------------------------------------ # pgtune wizard run on YYYY-MM-DD # Based on XXXXXXX KB RAM in the server #------------------------------------------------------------------------------
      
      







追加のパラメーターを使用して、自動的に決定されたサーバーの特性に基づいてではなく、独自の裁量でパラメーター値を設定できます。



-Mまたは--memory-PostgreSQLに割り当てられるメモリリソースに基づいて、サーバー上の合計RAMサイズ。

-Tまたは--type-データベースのタイプを指定します:DW、OLTP、Web、Mixed、Desktop。

-cまたは--connections-データベースへの可能な最大接続数。 値が指定されていない場合、データベースのタイプに基づいて決定されます。

-Dまたは--debug-PostgreSQLでデバッグモードを有効にします

-Sまたは--settings-構成ファイルがあるディレクトリにインストールします。



ユーティリティの終了後、必要に応じて生成されたpostgresql.conf.pgtuneファイルを編集し(たとえば、非標準ポートの設定やロギングの構成)、postgresql.conf構成ファイルを置き換えて、PostgreSQLサーバーを再起動します。



質問/コメント/追加があれば嬉しいです!



All Articles