sql >> データベース >  >> RDS >> Mysql

MySQLパフォーマンス–構成ファイルからの5つのパラメーター

    以前、 MySQLパフォーマンス–低速クエリとinnodb_buffer_pool_sizeに関するブログ投稿を書きました。 。そのようなパラメータについてもっと知りたがっているメールをたくさん受け取りました。 MySQLのパフォーマンスに役立つ構成ファイルの5つのパラメーターについて説明します。

    innodb_buffer_pool_size

    バッファプールにデータがキャッシュされます。サイズが小さい場合は、ディスクがより多く使用されます。 MySQLが何度もディスクに移動しないように、これを大きくしてください。クライアントの場所で見られる一般的なサイズは、6〜10GBです。

    max_connections

    これを十分に大きくしておけば、接続エラーが多すぎるのを簡単に回避できます。ただし、サーバーが処理できるサイズよりも大きくしすぎると、パフォーマンスの問題が再び発生し始めます。通常のワークロードを処理できるように、これを十分に大きく保つことが非常に重要であるため、リソースを追加する必要があります。私はこれを最初に、そして後でクライアントのために調整されたリソースで頻繁に変更しました。

    query_cache_size

    このセットのサイズを非常に小さくしたり大きくしたりすると、パフォーマンスがひどくなることは誰もが知っています。しかし、私は多くの人がこの設定を無視しているのを見てきました。私は通常、この設定を確認してMySQLの調整を開始し、0のままにします。これは、この設定が無効になっていることを意味し、他の方法を使用してクエリを調整します。私は通常、この方法よりもインデックスを調整することを好みます。

    innodb_flush_method

    この設定は、データとログをメモリからディスクにフラッシュする方法を制御します。二重バッファリングを避けるために、私は通常それをO_DIRECTに保ちます。通常、ダブルバッファリングはサーバーのパフォーマンスを低下させることを経験しました。

    上記の設定はMySQLのパフォーマンスに関連しており、構成ファイルから変更できます。 MySQL構成ファイルは、Linuxの次の場所にあります:/etc/mysql/my.conf

    ただし、本番環境で設定を変更する前に、開発システムで設定を試すことを強くお勧めします。あなたの経験が私の経験とは異なり、サーバーに異なる価値が必要である可能性は十分にあります。

    このブログが気に入った場合は、私のYouTubeチャンネルに登録することを忘れないでください–60秒でSQL


    1. mysql_real_escape_string()とmysql_escape_string()はアプリのセキュリティに十分ですか?

    2. グループSQL別の累計(Oracle)

    3. サーバーでサーバーストレージ情報を取得するためのストアドプロシージャ

    4. postgresでテーブル用に作成されたインデックスを一覧表示する方法