DockerがWindowsディレクトリをMySQLデータディレクトリにマウントし、データのインポートが遅いことは何ですか?
DockerはWindowsディレクトリをMySQLデータベースにマウントし、データのインポート解析が遅くなります
この記事では、MySQLデータベースデータがDockerコンテナへのインポートが遅い理由を分析します。この問題は、WindowsホストディレクトリをDockerコンテナ(Linux環境)で実行しているMySQL 8.0データベースデータディレクトリにマウントすることから生じ、その結果、インポート速度が非常に遅くなります。
ユーザーは、Docker Composeを使用して、Windowsホストに./mysqlData
ディレクトリをコンテナ内の/var/lib/mysql
に、 ./tmp
ディレクトリをコンテナに/tmp
にマウントします。インポートプロセスは、最初に21MBのSQLファイルをWindowsホストの./tmp
ディレクトリにコピーし、コンテナ内のmysql
コマンドを使用してインポートすることです。ただし、このプロセスには1時間近くかかりました。
問題の中核は、WindowsとLinuxファイルシステムの違いによって引き起こされるパフォーマンスボトルネックにあります。 DockerはWindows DirectoriesをLinuxコンテナに取り付けます。これにより、パフォーマンスが大幅に低下します。これはSQLファイルサイズの問題ではありませんが、WindowsファイルシステムにアクセスするLinuxコンテナのI/O速度が非常に低いです。これは、2つのファイルシステムの基礎となる実装が大きく異なり、Docker仮想化環境ではこの違いが増幅され、ファイルアクセス速度が大幅に低下するためです。
したがって、データのインポートが遅い主な理由は、マウントされたWindowsディレクトリ( ./tmp
)への読み取りと書き込みのコンテナのI/O速度が遅すぎることです。確認のために、比較テストを実行することをお勧めします。最初にSQLファイルをLinux仮想マシンまたはコンテナの内部ディレクトリにコピーしてからインポートし、インポート速度の差を比較して、Windowsファイルシステムへのゆっくりしたアクセスによって引き起こされる問題であるかどうかを確認します。
以上がDockerがWindowsディレクトリをMySQLデータディレクトリにマウントし、データのインポートが遅いことは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

フロントエンド開発においてJSONで機能と正規表現を安全に処理することができますが、JavaScriptが必要です...

Linuxは、豊富なツールとコミュニティサポートを提供するネイティブプラットフォームであるため、LinuxでDockerが重要です。 1. docker:sudoapt-getupdateとsudoapt-getinstalldocker-cedocker-ce-clicotainerd.ioを使用します。 2。コンテナの作成と管理:Dockerrun-D-Namemynginx-P80:80NginxなどのDockerrunコマンドを使用します。 3。DockerFileを書き込み:画像サイズを最適化し、マルチステージ構造を使用します。 4。最適化とデバッグ:DockerLogsとDockerexを使用します

Dockerなどのコンテナ化技術は、Javaのプラットフォームの独立性を置き換えるのではなく、強化します。 1)環境全体の一貫性を確保し、2)特定のJVMバージョンを含む依存関係を管理する、3)展開プロセスを簡素化して、Javaアプリケーションをより順応性と管理しやすくする。

生産環境でSaaSアプリケーションの展開:Docker ...

MySQLは、迅速な開発や中小規模のアプリケーションに適していますが、Oracleは大規模な企業や高可用性のニーズに適しています。 1)MySQLはオープンソースで使いやすく、Webアプリケーションや中小企業に適しています。 2)Oracleは強力で、大企業や政府機関に適しています。 3)MySQLはさまざまなストレージエンジンをサポートし、Oracleは豊富なエンタープライズレベルの機能を提供します。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。
