2016-11-08 9 views
0

最近、VPSを1GBから4GBに更新しました。私はクエリ(MYSQL/InnoDB)がより多くのメモリでより速く実行されることを期待していましたが、残念ながらそうではありません。サーバがメモリを増やした場合、mysqlは自動的により多くのメモリを使いますか、またはmy.cnfの設定を変更する必要がありますか?もしそうなら、私はどのような変更を加えるべきですか?パフォーマンスを向上させるためのMySQL設定(InnoDB)の設定?

+1

間違った質問をしていると思います。あなたはパフォーマンスを向上させる主な焦点は、クエリを分析することです。 \tパフォーマンス質問には、 'EXPLAIN ANALYZE'と、テーブルサイズ、インデックス、現在の時間パフォーマンス、欲求時間などの情報が含まれています。'スロー 'は相対的な用語であり、比較するには本当の価値が必要です。 \t \t [** MySQL **](http://dba.stackexchange.com/questions/15371/how-do-i-get-the-execution-plan-for-a-view) –

+0

はい、私はもちろん、クエリの最適化にも取り組んでいます。すべての設定、クエリ、インデックスなどを最適化したい – Roger

+0

テーブルにはどのような種類のmysqlエンジンを使用しますか? DBに関する詳細を私たちに教えてください:) – krasipenkov

答えて

0

MySQLは、より多くのメモリが自動的にインストールされるわけではありません。あなたのケースでは

(あなたがInnoDBを使用していることを考えると)あなたは、MySQLのパフォーマンスを向上させるために、少なくともこれらの操作を行うことができます

  • 増加innodb_buffer_pool_size(このオプションのデフォルト値は128メガバイトです)。これは、mysql innodbがそのデータテーブルとidexをキャッシュするために費やされるメモリの量を定義します。つまり、より多くのメモリを割り当てることができれば、mysqlはより多くのデータをキャッシュします(mysqlはデータ検索のためにI/O操作を行う代わりにメモリ内を検索するため)。 もちろん、妥当な量のメモリを割り当てる必要があります(4G :)が2G以下である可能性があります。より正確な結果を得るには、サーバ上で試してみるべきです。 (このオプションを変更する前にこの詳細を読む、https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-resize.html
  • 増加innodb_buffer_pool_instances。あなたの場合は、1つまたは2つのインスタンスが十分である場合があります。 (https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_buffer_pool_instancesを読むことができます)

my.iniの編集を開始する前に、あなたの計算を行います。オプションの設定をより正確にするために、mysqlサーバの負荷、低速クエリなどを考慮してください。my.ini

関連する問題