【サーバー・NAS設定編】SambaやNASの転送が遅い時の対処法

  • POSTS
⚠この記事はブログ移転前のアーカイブです SambaやNASの転送が遅いという方のために自分が試した対処法をつらつら書いていきます。 この記事は【サーバー設定編】です。 【LAN設定編】はこちら【LAN設定編】SambaやNASの転送が遅い時の対処法 【クライアント設定編】はこちら【クライアント設定編】SambaやNASの転送が遅い時の対処法 NASの場合は設定項目が限られているかもしれません。この記事ではUbuntu Server 14.10を参考にやっていきます。Sambaは4.1.6です もくじ NAS側HDDが断片化・容量不足になっていないか 断片化している時はデフラグ バックアップフォーマットも有効 Samba設定を見直す Max Protocol はSMB2に socket optionsの見直し NAS側HDDが断片化・容量不足になっていないか NASに搭載されたHDDが断片化していると,転送速度に問題がなくても読み書きに時間がかかり見かけ上転送が遅く感じるようになります. 容量不足になっている場合も読み書きに時間がかかります. 断片化している時はデフラグ 断片化しているHDDを最適化するには”デフラグ”という作業を行います.NASにデフラグの機能が搭載されていたらそれを実行するだけです.デフラグが終了するまでNASを読み書きするのは避けましょう バックアップフォーマットも有効 また,NASにはext3,4というLinux向けのシステムを使用しているものがあります.ext4などは断片化の影響が出にくい構造をしていますが,長年使用していたり,容量不足のまま使い続けると当然断片化の影響が大きくなります.ext4などでデフラグをするには一般ユーザーには骨が折れますので,この場合は”バックアップフォーマット“が有効です. バックアップフォーマットはスゴイ単純です.NASからファイルを全て退避(バックアップ)し,NASを初期化します.その後バックアップしたファイルを書き戻すのです. Samba設定を見直す Sambaの設定を変更して少しでもパフォーマンスをあげます。Samba設定ファイルは /etc/samba/smb.conf ですのでvimやらnanoやらで編集します。 Server:~$ sudo nano /etc/samba/smb.conf 以下[global]設定に付け足していきます。 Max Protocol はSMB2に max protocol =SMB2 と記述することでSMB2優先になります。MacではSMB2を最初に接続トライするようになったので、初期接続の時間が短縮されます。またSMBよりもパフォーマンスも上がっていると思います。 ただし、max protocolと一緒に、 security = share オプションが付いているとSMB2は有効になりません。注意が必要です。SMB2を有効にするために security = user と書き換えておきます。

【クライアント設定編】SambaやNASの転送が遅い時の対処法

  • POSTS
⚠この記事はブログ移転前のアーカイブです SambaやNASの転送が遅いという方のために自分が試した対処法をつらつら書いていきます。 この記事は【クライアント設定編】です。 【LAN設定編】はこちら【LAN設定編】SambaやNASの転送が遅い時の対処法 【サーバー設定編】はこちら【サーバー・NAS設定編】SambaやNASの転送が遅い時の対処法 SambaやNASの記事は過去に書いているので内容が被ることがあるかもしれませんがご容赦ください。 【Windows,Mac】 TCP遅延ACKを無効に TCP/IPには遅延ACKというものがあり、通信前に0.x秒の待ち時間が挿入されます。低速なネットワーク前提での機能ですのでこれらを無効にしてレスポンスを改善してみます。 Macの場合 $sudo vi /etc/sysctl.conf sysctl.confに以下のコードを追加して保存 net.inet.tcp.delayed_ack=0 保存したら再起動します。デフォルト値は「3」です。元に戻すときは3に直してください。  Windowsの場合 Winキー + 「regedit」と入力します。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParametersInterfaces にいくつかのインターフェースが表示されますが、その中でDhcpIPAddressに値が入っているもの(0.0.0.0以外)を探しだして 編集 -> 新規 -> DWORD を選択 キー名を「TcpAckFrequency」にして値を1にします。 レジストリを弄るときは必ずバックアップしてください。 【Macのみ】Finderでの接続方法を確認してみる Finderのメニュー -> 移動 ->サーバーへ接続 とすることでNASやSambaサーバーにアクセスできるわけですが、この時入力するアドレスに気を付けます    接続プロトコルがsmb以外(afp)になっている方はsmbに変えて試してください。 smb://NAS/data/ のようなコンピューター名で指定するのではなくIPアドレス直打ちで接続してみてください。 【Windowsのみ】ネットワークドライブに割り当てて接続する エクスプローラーで ネットワーク -> NAS -> フォルダ とアクセスするのが普通ですが、ネットワークドライブに割り当ててドライブ文字を与えると良いです。速度的には変わらないと思いますが。ただ使いやすくなるだけです。 割り当てたいネットワークフォルダを右クリックして「ネットワークドライブの割り当て」を選択  空いている任意のドライブ文字を選択して完了を押してください。     これだけでも解決しない場合は是非 【LAN設定編】SambaやNASの転送が遅い時の対処法 【サーバー・NAS設定編】SambaやNASの転送が遅い時の対処法 も御覧ください

【LAN設定編】SambaやNASの転送が遅い時の対処法

  • POSTS
⚠この記事はブログ移転前のアーカイブです SambaやNASの転送速度が遅いという方が結構多いらしいので、いくつか記事を分けて解決法をつらつら書いていこうと思います。 この記事は【LAN設定編】になります。また、SambaやNASの記事は過去に書いているので内容が被ることがあるかもしれませんがご容赦ください。 【クライアント設定編】はこちら【クライアント設定編】SambaやNASの転送が遅い時の対処法 【サーバー・NAS設定編】はこちら【サーバー・NAS設定編】SambaやNASの転送が遅い時の対処法の転送が遅い時の対処法 もくじ NAS,Sambaサーバーのインターフェイスやケーブルは1000BASE-T以上対応しているか。 ジャンボフレームを設定して高速化を図る 無線接続でNAS,Sambaにアクセスしていないか 複数のSSIDが設定されている場合はできるだけ数を減らす。 各種詳細な設定を変更する。 ハードウェアNATを有効に 無線LANではより高速な802.11ac対応の無線LANと子機を NAS,Sambaサーバーのインターフェイスやケーブルは1000BASE-T以上対応しているか。 意外と重要なところです。最近のNAS本体で1000BASE-T非対応品というのはあまり聞きませんが、Sambaサーバーなど、安いNICで運用している場合は100BASE-TXまでの対応品がたまにあるので注意が必要です。 100BASE-TXだと理論値100Mbps≒12.5MB/s程度となり、非常に遅いです。 また、NAS、サーバー側のインターフェイスが1000BASE-T対応でもケーブルがカテゴリ5などの1Gbps非対応品だと意味がありません。もう一度カテゴリ5e以上のものか確かめてください。 また、Ubuntu Serverではethtoolコマンドを用いることによってインターフェイスの対応状況や、現在の接続状況を知ることが出来ます。 Server:~$ sudo ethtool eth1 Settings for eth1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: Symmetric Link partner advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: off Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) drv probe link timer ifdown ifup rx_err tx_err Link detected: yes Server:~$ 「Supported link modes」が自身のNICの対応状況。

DPC Latencyが原因の音飛びを改善する方法まとめ

  • POSTS
⚠この記事はブログ移転前のアーカイブです DPC Latencyによる音飛び、プチフリの原因は多岐にわたり、なかなか直すのが難しかったりします。 DPC Latencyを低く抑えるため自分がやった対策をまとめてみました。レイテンシを無くすためにサウンドカードやオーディオIFを買ったのに改善されない、といった方はぜひ試してみてください。 まず、DPC Latencyをチェックするために以下のソフトウェアをDLしましょう DPC Latency Checker LatencyMon ほんとはLatency Monだけでいいです。ただ、測定方法が違うのかLatencyMonはDPC Latency Checkerとちょっと異なる数値を出すことがあるので、音飛び時のモニタリングはDPC Latency Checkerを使うことをおすすめします。 LatencyMonはデフォルトではユーザープロセスのレイテンシの合計、DPC Latency Checkerはおそらくカーネルタイムのレイテンシを計測しています。LatencyMonでもカーネルタイムのレイテンシを表示するオプションはありますが、DPC Latency Checkerと異なる値が出る上に、音飛びのない正常な状態でもDPCレイテンシが10000超えするなど計測値に信頼性がないです。LatencyMonを使用するときは「ユーザープロセスのレイテンシ」のオプションにしておいてください。デフォルトなので特に考える必要はないかと思いますが。 じゃあLatencyMonは何に使うのかというとドライバー個別のレイテンシチェックに使います。後述。 これらの改善法を試す前提として、WindowsUpdateを済ませておく。BIOS(UEFI)は最新にしておきましょう。 もくじ コンパネの省電力設定 不要なサービスの停止 ドライバ整理 tcpip.sys iusb3xhc.sys USB機器の見直し

【Unity】AssetBundleを使わずに動的にデータを取得するゲームを作る

  • POSTS
⚠この記事はブログ移転前のアーカイブです スマホ向けゲームを作る際に、ソーシャルゲームみたいに「今月のアップデート!」ってな感じで定期的に新しいゲームデータを提供する仕組みを組み込んでおけばユーザーは長く遊んでくれるはずです。 でもゲームデータの中身が変わったらアプリのアップデートをしなければいけない。データ更新のたびにユーザーにアップデートボタンを押させるのはユーザー離れの要因にもなる。特にiPhone, iPadプラットフォームはAppleの審査でものすごい待たされる。 なのでアプリをアップデートさせずにゲームデータだけを更新する仕組みを導入したい。幸いUnityは公式でこの仕組を提供してくれている。 もくじ Unityには便利なAssetBundleがある AssetBundleを使わずにデータを更新する方法を考える iCloudでバックアップしないように設定する データの暗号化は必須 素のデータをダウンロードしてみる Unityには便利なAssetBundleがある AssetBundleがあれば必要なときにインターネット上からゲームデータをDLして使うことが出来る。ゲーム内で新キャラの画像とか新ダンジョンのマップなんかもAssetBundleで配信すれば素早くアップデートできる。 でも以下の欠点がある。