PR

macの外付けHDDが遅い!HFS+の速度を改善するたった1つのポイント

macの外付けHDDが劇遅になっていたことに気がついたmac野郎なのかです。
USB3.0接続ポータブルHDD購入当初は速かったのに、最近書き込みが遅い、読み込みが遅いと感じることありませんか?

mac野郎なのかのリアルな体験から得たUSB HDDの速度改善するたった1つのポイントをご紹介します。
macのUSB3.0外付けHDDの読み書き速度が80%以上の性能ダウン」、
HFS+の速度を改善するたった1つのポイント」の順にご紹介します。
 

macのUSB3.0外付けHDDの読み書き速度が80%以上の性能ダウン

MacBook Pro Retina Mid2015のUSB3.0に、以下HDDを接続して利用しています。
HGTSの2.5インチ 1TB HDD(7200rpm)をセンチュリーのシンプルBOX2.5のUSB3.0HDDケースに入れて使っています。
mac-usb-storage-slow-image.jpg

 
購入当初、シーケンシャルリード:102.0MB/s、ライト:100.4MB/sで満足していました。
source:mac 外付けHDDの購入検討(HDDケース編)

 
最近なんか遅い、と感じるようになり、
簡単にddコマンドで速度計測したところ驚愕してしまう程速度が落ちていました

リード 20.8MB/s 80MB/sの速度ダウン
ライト 10.3MB/s 90MB/sの速度ダウン

 
尋常じゃないほどパフォーマンスが落ちています。
ddコマンドは転送速度を簡易にチェックできます。
ただ、書き込むデータがrandamじゃないので、正確なデータが測り辛いです。
 
パーティションは、以下のように細かく区切っています。

ボリューム名(ファイルシステム) 使用済み/容量 使用率
Share(HFS+ 大文字小文字区別) 240.16GB/268.3GB 90%
Windows(NTFS) 268.44GB 7%
work(HFS+) 292.19GB/308.93GB 95%
Machintosh HD1(HFS+) 127.35GB(未マウント)
Install OS X Elcaptian(HFS+) 25.87GB(未マウント)

Share, workパーティションは、macで自動マウントしています。
普段使わないパーティションは自動マウント対象外にしています。
外付けUSB HDDの特定パーティションをマウントさせない方法はこちらの記事を参考にしてください。

Windows(NTFS)は、Parallelsで動かしているWindows10Proでマウントし、利用しています。
NTFS特有のアクセス権など踏襲したアクセスができるので重宝しています。
 
AmorphousDiskMark.appってご存知でしょうか?windowsのディスクベンチで有名なCrystalDiskMarkのMac版です。
入手先:AmorphousDiskMark はストーレジデバイスの性能を MB/s と IOPS で測定します。

今回このAmorphousDiskMarkを使ってさらに詳しく速度を調査してみました
 
work(HFS+)の測定結果がこちらです。
mac-usb-storage-slow-01.png
シーケンシャルリード22.72MB、ライト6.77MBです。
うーん、USB3.0接続しているんですが、USB2.0相当以下の速度・・・泣けます。
 
もう復旧できないんでしょうか・・・
 

macのタイムマシン用に使っているShareで速度を確認してみます。
mac-usb-storage-slow-02.png
シーケンシャルリード128.8MB、ライト90.93MBと高速です。
 
同一ディスクなんですが速度が違うことがわかりました。
 
同一ディスクで速度の遅いパーティション、速いパーティションがある、速いパーティションに合わせることで速度が改善できるのではないか?
と考えられます。
 
参考までに、Parallels+Crystal Disk Mark5.0.2でWindows(NTFS)を測定した結果です。
mac-usb-storage-slow-04.png
 
遅いパーティションと速いパーティションの比較です。
遅いパーティション workの情報

  • ディスクユーティリティの詳細情報(遅いパーティション)
    mac-usb-storage-slow-11.png

速いパーティション Shareの情報

  • ディスクユーティリティの詳細情報(速いパーティション)
    mac-usb-storage-slow-14.png

比べると大きな違いは、以下3つです。

  • 使用率の違い、使用量95%【遅い】、使用量90%【速い】
  • 用途の違い、大小様々なファイル【遅い】、タイムマシーン専用パーティション【速い】
  • ファイルシステムの違い、Mac OS拡張(ジャーナリング)【遅い】、Mac OS拡張(大文字/小文字を区別、ジャーナリング)【速い】

使用率で速度が低下する?

使用量95%【遅い】、使用量90%【速い】の違いがありました。
使用率でディスク読み込み、ディスク書き込みの速度に違いが生じるのか、検証してみました。
使用率91%から93%では違いはありませんでした。
 
使用率94%以上は性能が悪化します。
ディスクの読み込み速度、ディスクの書き込み速度に大きな性能ダウンが確認できました。

 
【ポイント】

Mac OS拡張(ジャーナリング)は使用率90%を上限に利用するのがベスト
タイムマシーンでバックアップした際は、使用率90%でリサイクルしているのが大きな理由です。
90%を超える際は、速度変化の少ない使用率93%を目安にする。

 
以下、使用量90%【速い】パーティションの使用量を増やしながら検証した結果です。
 
シーケンシャルのRead/Write(Seq QD32)は比較的速いので3回、
ランダムのRead/Write(4K QD32)は、とっても遅いので、1回の試行結果です。
データサイズ 100MiB
TestData Random
Sequentianl Queue Depth 32
Random Queue Depth 32
大体1GB付近のランダムなデータをコピーして容量を増やしています。

  • 使用率90% 残り26GB
    mac-usb-storage-slow-use-90%

  • 使用率91% 残り24GB パフォーマンス◎
    mac-usb-storage-slow-use-91%

  • 使用率92% 残り21GB パフォーマンス◎
    mac-usb-storage-slow-use-92%

  • 使用率93% 残り19GB パフォーマンス○
    mac-usb-storage-slow-use-93%

  • 使用率94% 残り16GB パフォーマンス△
    mac-usb-storage-slow-use-94%

  • 使用率95% 残り13GB パフォーマンス△
    mac-usb-storage-slow-use-95%

  • 使用率96% 残り11GB パフォーマンス△
    mac-usb-storage-slow-use-96%

  • 使用率97% 残り8GB パフォーマンス大幅ダウン
    mac-usb-storage-slow-use-97%

  • 使用率98% 残り5GB パフォーマンス大幅ダウン
    mac-usb-storage-slow-use-98%

  • 使用率99% 残り3GB パフォーマンス大幅ダウン
    mac-usb-storage-slow-use-99%

 
使用率93%を超えると次第にパフォーマンスが悪くなることがわかります。
 
 

大小様々なファイル【遅い】、タイムマシーン専用パーティション【速い】で速度が違う理由は?

同じディスクで遅いパーティションと速いパーティションの違いが生じる原因は、2つの理由があると考えられます。
1つ目は、使用率の違いです。
「使用率で速度が低下する?」の結果から使用率が100%に近いほど速度が低下することがわかりました。
大小様々なファイル【遅い】の使用率は95%です。
タイムマシーン専用パーティション【速い】の使用率は、90%です。

当然、90%の方が速いですよね。
でも、
タイムマシーン専用パーティション【速い】の使用率を95%と比較しても、タイムマシーン専用パーティション【速い】の方が断然速かったです。
 
大小様々なファイル【遅い】
mac-usb-storage-slow-01.png
タイムマシーン専用パーティション【速い】の使用率を95%
mac-usb-storage-slow-use-95%
 
単純に使用率だけでは語れない何かがありそうです。

2つ目の理由は、ファイル数です。
単純にファイル数といっても、実際は、大小様々なファイル【遅い】方が少ないです。
大小様々なファイル【遅い】のファイル数: 2,302,040
タイムマシーン専用パーティション【速い】のファイル数:3,039,821

大小様々なファイル【遅い】は、特殊な使い方をしていました。
おそらく通常の利用ではこのようなこと速度の違いは発生しないと思います。

 
1フォルダの直下に数万ファイル(大きなフォルダは288,287ファイル 約1GB、288,104ファイル・・)あるようなフォルダが複数存在しています。
数万ファイルあるとlsしても数十秒応答がなかったりします。
一方タイムマシーン専用パーティション【速い】は、普通に使っているので、1フォルダにたくさんファイルがあるのは、1400ファイルのDownloadフォルダぐらいです。

1つのファイル.dmg(Apple 読み出し/書き込み Media)にまとめて速度を確認してみます。
288,287ファイル 約1GBをitem1.dmgにまとめました。
ファイル数は、12.5%減の2,013,754ファイル(2,302,040 - 288,287 + item1.dmg)です。
1つのディスクイメージにまとめる前
mac-usb-storage-slow-01.png

1つのディスクイメージにまとめた後
mac-usb-storage-slow-20.png
シーケンシャルリード106.7MB、ライト74.52MBに改善できました。
 
同じ使用率95%です。1つにまとめたことでシーケンシャルのRead/Writeが改善していることがわかります。

ディスクユーティリティは新規イメージ(dmg)を作成することができます。
作成方法は以下3つのパターンです。

  • ファイル>新規イメージ>空のイメージを作成…

    読み書き可能なイメージを作成することが可能です。
    サイズ指定が必要です。

  • ファイル>新規イメージ>フォルダからのイメージを作成…

    指定フォルダのイメージを作成することができます。
    イメージの出力先は任意に指定できます。

    途中でキャンセルできません。

  • ボリュームを選んで
    ファイル>新規イメージ>ボリューム名からイメージ作成

    ボリューム全体のイメージを作成することができます。

非圧縮の読み書きできるイメージファイルを作成しています。
イメージファイルへコピーは、以下コマンドで移動させ、item1.dmgをコピーしました。

$ find . -name "*" -print -exec mv "{}" /Volumes/item1/ \; 

 
イメージファイルのサイズが足りなかった場合、以下コマンドでサイズを調整できます。

$ sudo hdiutil resize -size 2g ボリュームファイルへのパス(item1.dmg)

イメージファイルをアンマウントしてから実行します。

 

Mac OS拡張(ジャーナリング)でも、大文字/小文字を区別した方が速いの?

どちらでも変わらないです。
大文字・小文字を区別する、大文字・小文字を区別しない、どちらの設定で使用率94%以上になるとディスクの読み込み、書き込み低下が確認できました。
ディスクの空き容量が少ない場合、Mac OS拡張(ジャーナリング)のパフォーマンス低下を招きます。
 
 

HFS+の速度を改善するたった1つのポイント

Mac OS拡張(ジャーナリング)、Mac OS拡張(大文字/小文字を区別、ジャーナリング)のHFS+ファイルシステムの読み込み速度、書き込み速度を改善するポイント!

  1. HFS+は90%の使用率に抑える!

 
10%残すと勿体無いです。
ただリード速度、ライト速度も低下するため、どんな用途でも90%の使用率に抑えた方が快適です。
 
使用率で速度が低下する?で、ディスク使用率94%以上になるとパフォーマンスが大きく低下することをご紹介しました。
 
macの標準バックアップ機能のタイムマシーンを利用して保存したHDDは、90%の使用率に収まるようになっています。93%ではなく、90%としたのは標準機能を見習っています。
 
 

まとめ

macの外付けHDDが遅い!HFS+の速度を改善するたった1つのポイントはいかがでしたでしょうか。

1つの外付けHDDを複数のパーティションに分けた場合、
パーティション毎に性能が異なることがわかりました。
また、性能は、使用率94%以上になると悪くなることがわかりました。

使用率を90%前後に抑えるだけで、パフォーマンスが改善することが明らかになりました。

90%以上利用している場合は、不要なファイルを削除したり、圧縮して容量を削減することでパフォーマンスの改善できますよ^^

おまけ
HFS+の後継として、Apple File System(APFS)が正式登場間近ですね!
macos sierra 10.12.4でも利用できます。(APFSはベータ版です)
【APFSの主要な機能】

  • modern file system for iOS, macOS, tvOS, and watchOS. It is optimized for Flash/SSD storage
  • features strong encryption
  • copy-on-write metadata
  • space sharing
  • cloning for files and directories
  • snapshots
  • fast directory sizing
  • atomic safe-save primitives
  • improved file system fundamentals

コマンドラインからAPFSイメージディスクを作成することができます。

$ hdiutil create -volname apfs apfs.dmg -fs APFS -size 1g

(1GBのAPFSディスクイメージの作成例)

今回APFSのディスクイメージにするつもりだったんですが
パフォーマンスはほんの僅かにHFS+より悪かったので、HFS+にしました。

APFS正式リリース後再度チェックしてみたいと思います。
 
 

タイトルとURLをコピーしました