web-dev-qa-db-ja.com

MySQL 8.0.18を使用するWindowsでの異なるデフォルトのinnodb_buffer_pool_size

同じ構成でMySQL 8.0.18コミュニティをインストールしました(mysql-installer-community-8.0.18.0.msiインストーラー、サーバー+ワークベンチを使用したカスタムインストール、スタンドアロンサーバー、レガシー認証、残りはデフォルトです)。さまざまな結果。

これらのマシンのうち5つのうち3つは、数百万行をDBに挿入したときに、MySQLの実行速度が非常に遅くなりました。

  • タスクマネージャーは、ディスクアクティビティ時間は100%であるが、ほとんどデータを移動しないと述べました(30分間で50〜500 KB /秒)。
  • 私はMySQL Workbenchに入りましたが、[Server Status]ウィンドウのデータグラフが機能していないことに注意してください。
  • ダッシュボードのInnoDBディスク書き込みセクションでは、書き込み速度は約40 KB /秒であると述べています。

次に、my.iniファイルを確認したところ、このナンセンスなことがわかりました。

innodb_buffer_pool_size = 8M

これは奇妙な理由によるデフォルト設定でした。

他の2台のマシンでは、この行がiniファイルでコメント化されているため、適切に機能し、MySQLは期待どおりに動作していました。

悪い環境:

  1. デスクトップマシン、Windows 10、16 GB RAM 4コアの第7世代i5CPU。MySQLはこれまでインストールされていませんでした。
  2. 物理マシン、Windows Server 2016、44 GBのRAM、強力なXeon CPU(正確なモデルは覚えていませんが、問題はありませんでした)、MySQLは以前にインストールされていません
  3. 16 GBのRAMと6つのvCPUを備えたVM(良い#2で説明されているラップトップ上)。 MySQLは以前にインストールされたことはありません。

良い環境:

  1. デスクトップマシン、Windows 10、16 GB RAM、4コアの第4世代I5 CPU。 MySQL 8.0.17は以前にインストールされており、正常に動作していました。 8.0.18へのクリーンインストールを行い、バッファプールサイズの値がコメント化されました
  2. ラップトップ、Windows 10、32 GB RAM、第4世代I7 CPU、4コア。 MySQLでも同じことが言えます。

MySQLのドキュメントやこの動作を説明しているWebには何も見つかりませんでした。私はinnodb_buffer_pool_size = 8Mは笑えることを意味します、これがデフォルト値である理由はわかりません

これがなぜ起こるのか誰か誰か知っていますか?

1
digitaltos

8MはMySQLの非常に古いデフォルトです。はい、それは笑えます。今日のどのインスタンスにも小さすぎます。

My.iniが以前のインストールから残っているか、バグレポートの価値があります。

RAMが4GB以上ある場合は、innodb_buffer_pool_size RAMの約70%。

1
Rick James