私は現在INSERTステートメントとUPDATEステートメントのようなリクエストに対してMySQLデータベース(innodbエンジンを実行中)を最適化しようとしています。MySQLの最適化 - innodb設定が不十分かハードウェアが不十分ですか?
私は2GBメモリ/ 2 CPUと40GBディスクを搭載した非常に基本的なサーバを使用しています。私は最適化(https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-diskio.html)とメモリ使用(https://dev.mysql.com/doc/refman/5.7/en/memory-use.html)を含む多くのMySQLドキュメントを見てきました。
私は次のように私のmy.confファイルを設定しました:されている
[mysqld]
default-storage-engine = innodb
innodb_buffer_pool_size = 2147483648
innodb_buffer_pool_instances = 4
innodb_buffer_pool_chunk_size = 1073741824
innodb_change_buffer_max_size=30
をプールサイズ、チャンクサイズとインスタンスの数を増やすことにもかかわらず、私はまだ重要なクエリのボトルネックを見ているとCPUの両方の100%で動作します。
これらのボトルネックを減らすためにinnodbエンジンでもっと迷惑をかけることはありますか?それとも、単により大きな仕様のハードウェアを使用しているのでしょうか?
2Gバイトのメモリはそれほど多くありません(私の携帯電話はそれほど多くのRAMを持っていませんか?)。ただし、クエリの負荷を最適化する場合は、クエリの負荷を理解することが重要です。これは、ハードウェア/ソフトウェアの問題である場合とそうでない場合があります。 –
確認できることは、インデックスを追加することです。 – mm759
@ GordonLinoffありがとう - 私はちょうど私が小規模なサーバーからどのくらいの量をeekできるのか見てみたいと思っています。 –