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サーバーを再起動します。

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

Source: https://habr.com/ru/post/J160395/


All Articles