1. ストレージ構造分析
MySQL ストレージ構造図:
分析:
1. 読み取り操作: メモリ読み取り->キャッシュキャッシュ読み取り-->ディスク物理読み取り
読み取りデータが送信されます上記の順序に戻ります。
2. 書き込み操作: メモリ データはキャッシュに直接書き込まれます (非常に高速) --> ディスクに書き込みます
上記から、キャッシュが高速な読み取りおよび書き込み速度において重要な役割を果たしていることがわかります。 MySQL。
1. キャッシュ機能:
2. 停電によるデータ損失
2. データのセキュリティを保護する (偶発的な停電によるデータ損失を防止)ストレージには、BBU (バッテリー バックアップ ユニット、つまりバッテリー) を追加して、停電後にキャッシュ内のデータをディスクに書き込むことができ、データが失われないようにします。
BBU が提供されていないか、BBU が壊れている場合、メモリ データはキャッシュ キャッシュに書き込まれず、ディスクに直接書き込まれます。メモリへの書き込みと比較して、ディスクへの書き込み速度は低下します。大幅に削減されます (10,000 倍の差)。同時に、遅い「書き込み」により「読み取り」帯域幅のほとんどが占有されます。したがって、BBU の問題は、読み取りおよび書き込みのパフォーマンス低下の主な影響要因となります。
3. キャッシュ容量には制限があります
(4G、8G、16G、32G) キャッシュを有効に保つために、システムはキャッシュされたデータを定期的にディスクに書き込み、キャッシュがいっぱいになるのを防ぎます。
2. ストレージの書き込み速度が遅い場合の分析
データベース--> 書き込み速度が遅い--> システムがハングする
Q: 書き込み速度が遅いことを判断するにはどうすればよいですか?
A:
1. BBU の問題の疑い
BBU のバグを監視し、解決策: BBU を再起動します
2. キャッシュがいっぱいです (BBU が壊れた場合と同様)
1. キャッシュ キャッシュが占有されています。がいっぱいです、判断:
shell> 'handler_write' のようなグローバルステータスを表示します (水の充填速度よりもはるかに遅い)。
ハードディスク I/O 異常、負荷が高すぎる: データベースの大量の物理読み取り (異常な SQL)、判断:
mysql> 'Innodb_buffer_pool_reads' のようなステータスが表示される
3.貧弱なストレージ設備、設備を更新してください
2. 災害復旧同期のリスク、「エンジニアがどんなに優れていても、Lan Xiang の掘削機や出稼ぎ労働者の鍬にはかなわない...」
3. BBU について
英語略語: BBU
英語正式名: Battery Backup Unit
中国語正式名: Battery Backup Unit、バッテリーです
1. 機能:
停電後にキャッシュ内のデータをハードディスクに書き込みます。データが失われないようにするため、
これは、システムの外部電源が確保できなくなった場合に、バックアップ電源を提供できる一種の保護手段です。ストレージアレイ内のビジネスデータのセキュリティ。
2. 多くのストレージ デバイスには BBU が装備されています
BBU は、電源に問題がある場合に RAID コントローラー キャッシュに電力を供給します。電源が遮断されると、BBU の電源により、一定期間 (BBU モデルに応じて) コントローラ内のキャッシュにデータが保存されます。ユーザーは、BBU の電力が枯渇する (バッテリーの限界がある) 前に通常の電源を復旧するだけでよく、停電によるデータ損失を避けるために、キャッシュ内のデータを RAID に完全に書き戻すことができます。
サーバーのバッテリーとは少し異なります。サーバーでは、RAID カードを構成するときに、システムの電源がオフになった後も、データを失うことなくメモリ内のデータを維持できます。制限は約 12 時間です。12 時間以内に回復しないと、メモリ内のデータが失われます。
サーバーにはスーパー キャパシタと呼ばれる保護方法もあります。サーバーの電源が切れたときにもサーバーを保護できます。最終的には、キャッシュ内のデータがハードディスクに書き込まれるのと同様です。実際、これはコンデンサへの書き込みです。USB フラッシュ ドライブへの書き込みと理解できます。バッテリーよりも優れており、12 時間経過してもサーバーの電源が回復しなくても、データが失われることはありません。
以上がMySQL ストレージの書き込み速度はどのように形成されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。