[最終更新] 2017年5月16日
一年間私を悩ませ続けた問題が、ようやく一区切りつきました。MacとReadyNAS 104のやりとりが異常に遅いというものです。速度がよくて10MB/sしか出ない。対応後、Readで60MB/sまで改善しました。
環境と症状
Macの環境は以下。
- Mac mini 2012, MacBook Air 2013 11インチ
- OSX 10.11.6 (追記:Sierra(10.12.4)でも確認)
- 有線LAN、ギガビットイーサネット環境、無線は切っている
ReadyNAS 104のファームウェアは6.5.0。
症状として、MacとReadyNASの通信が10MB/sしか出ない。プロトコルはSMB。AFPを使うと、Readで50MB/s、Writeで30MB/s出る。また、Windowsでは無線のクライアントでも20MB/s以上でるので、通信環境の問題ではない(ルータ周りのLANケーブルがすべてCat.5e以上であることを確認、ケーブル交換なども実施したが、改善せず)。したがって、Mac、あるいはReadyNASのMacに関する設定の問題と考えられる。
ちなみに「MacでSamba, NASの接続が遅い時の対処法まとめ – wp.bmemo.pw」で紹介されている「net.inet.tcp.delayed_ack=0」でTCP遅延ACKのオフと、ReadyNAS側の設定として「ReadyNas に Finder でアクセスした時に表示が遅い時の対処法」の設定方法も実施済み。私の場合は残念ながらあまり変わりませんでした。。。
プロトコルの確認
まず大切なことは、AFPで通信しているのか、SMBで通信しているのかということです。現在のMacはSMBを優先するようになっているはずなので、特に意識しなければSMBでしょう。Finderの共有を見れば、SMBでマウントされているかどうかわかると思います(下図)。

SMBとAFPでの速度差
このとき、私の環境ではRead/Write共に10MB/s程度しか出ませんでした(下図)。

これは耐えられないほど遅い速度ではありませんが、有線LANであるメリットをまるで感じさせない速度でもあります。実際、Windowsマシンからは20MB/s以上の速度が「無線で」出ました。明らかに問題があります。
そこで、MacではレガシーとされるAFPで接続すると、速度が劇的に改善されました(下図)。

Readが50MB/s、Writeが30MB/s出ています。激速ではありませんが、有線LANの恩恵を受けた速度ではないでしょうか。
ではAFP接続にすればよいのではないかというと、AFP接続にした場合、どういうわけか、Finderでのファイルのリスト表示が著しく遅くなりました。SMBでも遅いのですが、AFPはちょっと信じ難いほど遅い。10以上ファイルがあると待たされる。100もファイルがあれば、10秒以上待たされる。これはちょっと実用的でない。
また、AFPは既にAppleからレガシーとされ、開発もストップしており、いつ切られてもおかしくない状態です。SMBを使うほうが無難なのです。
SMBとAFPについて
状況を整理します。まず現在のMacでの標準はSMBです。しかし、速度が出ません。AFPにすると、最大速度は確かに早くなりますが、Finderでの表示が耐え難いほど遅くなりました。また、AFPはレガシーであり、開発がストップしています。SMBを使うことが望ましいとされています。
レガシーのAFPならばともかく、なぜ推奨のSMBでこんなことになっているかと言うと、MacにおけるSMBの実装に独自の拡張があるためという説が有力です。Mac同士であれば問題ないのですが、ReadyNASのように汎用的なサードパーティーのデバイスが絡むと話がややこしくなる。これは悪い意味でAppleらしい状況です。
SMBが推奨となったのはもう何年も前なのですけれど、この問題はいまだに解決しておらず、AFPのほうが速度が速いという理由で、いまなおAFPを使い続けている人もいます。まぁ、Appleからしてみれば自社製品ではないネットワークストレージを使ってくれるなということなのかもしれませんが、けったいな話です。
対応
この問題は、私をずっと悩ませてきました。SMBもAFPも一長一短ではありますが、SMBが推奨されるプロトコルであること、リスト表示がAFPより速いこと、10MB/sは遅いが耐えられないほどではないことを勘案して、SMBを使っていました。
しかしやはり使っているとどうにも遅さが気になります。やりきれない。他の人の動作報告を見れば、MacとReadyNAS 104でも50MB/sくらい出ているものがある。10MB/sはいくらなんでも遅すぎる。100BASE-T並ではないか。無線のWindowsマシンのほうが快適とは何事か。
というわけで一念発起し、ちょっと頑張って調べました。色々試したところ、「Mac OS X 10.11.5 slow data transfer – Synology Forum」にある方法で効果がありました。それは、/etc/nsmb.confに以下の内容を記述することです。
[default]
signing_required=no
システムファイルなので、ターミナルからsudo権限で編集する必要があります。編集後は再起動。コマンドで書き込みする場合は以下でどうぞ。
sudo -s
echo "[default]" > /etc/nsmb.conf
echo signing_required=no >> /etc/nsmb.conf
reboot
再起動後、速度が劇的に改善しました(下図)。

Readが60MB/s、Writeが40MB/s、心なしかAFPの時より速いくらいですね。よく理解していませんが、signing_required=noとは「SMB のセキュリティ署名の必要性」に関することでしょうか?中間者攻撃対策としてセキュリティ上必要とされるようですが、我が家のLAN内でのやりとりなので、まぁよいでしょう。
(追記)「新・OS X ハッキング! (184) NASのアクセス速度を改善する | マイナビニュース」にて本件の解説がされました。「パケット署名」だそうです。つまりSMBの仕様か。
これまでずっと悩まされ、Macだから仕方ないのかなとさえ思っていたのですが、なんとか速度が出るようになり、たいへんハッピーです。4GBのOSイメージが1分でコピーできました。嬉しいことです。macOS Sierraにアップグレードしたら、きっとまた対応しなくてはならないのでしょうけれど。
なお、「Slow file sharing on Mac using SMB – Synology Forum」によれば、/etc/nsmb.confではなく「~/Library/Preferences/nsmb.conf 」に上記の内容を書き込むとしていました。しかし、当該ファイルが見つからなかったので、/etc/nsmb.confを作成しました。~/Library以下で編集するほうがMac的には行儀がよさそうなので、こちらを試してみてもよいかもしれません。/etc/以下はOSのアップデートで書き換えられそうですしねぇ…。
それにしても、調べていて不思議だったのは、人によっては特に何もせずとも50MB/sくらい速度が出る人もいるようであったことです。パケット署名の処理による速度低下が原因ということであれば、MacでReadyNAS 104を使う場合、パケット署名の無効化をしないと速度は10MB/s程度になってしまうように思うのですが…。
関連記事
Mac の記事
- [2017年1月28日] MacのHomebrewでimagemagickを入れているとgem install rmagickが失敗するようになったメモ
- [2017年1月10日] MacBook Air 2013 11インチ、使い始めて早3年半、ついに『バッテリーの交換修理』表示
- [2016年12月26日] Macでコマンドライン(ターミナル上)からスクリーンキャプチャ…ピクセル単位で領域も指定できる
- [2016年12月4日] Mac mini 2012 + ウルトラワイド液晶ディスプレイとその使用感
- [2016年11月21日] 不満はあっても色々考えると結局Macになってしまう
- ---本記事---
- [2016年11月12日] 最近のMacが微妙だなぁなどと考えるうちに何故かウルトラワイドのディスプレイに興味
- [2016年11月3日] もうMac miniは諦めてMacBook Proを買ってしまおうか…
- [2016年10月29日] MacBook Pro 2016の所感とかMac miniの来ない来週とか色々
- [2016年9月21日] macOS Sierra来たけれどScanSnapの問題があるのでアップグレードは当面おあずけ
- [2016年9月12日] Mac版LibreOffice Vanillaがやけに不安定…本家は安定
ReadyNas 104 の記事
- [2020年3月8日] Dropbox Plus + 外付けSSD でNASいらずに挑戦中
- [2019年11月24日] ReadyNAS 104を使用して4年、動いているが、家庭用に4ベイはいらなかったなといまさら思う
- [2019年9月3日] 家庭用なら1ベイNASで十分だ
- ---本記事---
- [2016年10月26日] ReadyNAS 104を使って1年。使い勝手、使用感の雑感
- [2016年6月7日] 結局TimeMachineはNASを使わず外付けハードディスクを利用するようになった
- [2016年5月28日] NASなどを使ったネットワーク越しのTimeMachineバックアップは色々鬼門
- [2016年5月18日] ReadyNas 104 のHD交換完了。NASは楽だなぁ…
- [2016年5月16日] ReadyNasの調子が悪いと思っていたら、Seagateのハードディスクがお亡くなりになっていた
- [2015年12月26日] ReadyNAS 104の安定した運用に至るまで
- [2015年12月14日] ReadyNASでTimeMachineのデータをsshでログインして直接削除
スポンサーリンク