SharePointディレクトリ一覧の表示遅延を解決 — NetDrive

読了目安 7 分 troubleshooting sharepoint performance
Robin
RobinDeveloper Advocate
NetDriveで大規模なSharePointドキュメントライブラリをマウントした際の一覧表示の遅さを診断・解決します。非同期リスト表示、キャッシュサイズ、ライブラリ構成について解説します。

あるマーケティングチームは、チーム全体がドラッグ&ドロップで他のドライブと同じようにファイルを扱えるよう、共有SharePointドキュメントライブラリをNetDriveでマウントしています。このライブラリは12のキャンペーンフォルダにまたがる20,000ファイル以上にまで成長しており、Explorerでトップレベルのフォルダを開くと、何かが表示されるまで数秒間スピナーが回り続けるようになりました。何かが壊れているわけではありません——ライブラリが大きくなった分、NetDriveが列挙のために実際に作業をこなす必要があるだけです。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

待ち時間なしでSharePointをマウント

NetDrive を使えば Google Drive、OneDrive、S3、SFTP、WebDAV などが Windows と macOS でネイティブドライブとして表示されます — 同期も、まるごとダウンロードも不要です。

  • 大規模ドキュメントライブラリ向けの非同期ディレクトリ一覧表示
  • 最大1TBまで設定可能なディレクトリキャッシュ
  • アップストリームでファイルが変更された際、単一フォルダを強制更新
WindowsmacOS
NetDriveをダウンロード →

無料トライアル。永久ライセンスとサブスクリプションプランあり。

大規模なSharePointライブラリの一覧表示が遅い理由

SharePointは、ローカルファイルシステムのようにフォルダの中身を1回のレスポンスでNetDriveに渡すわけではありません。SharePointのAPIを通じてライブラリを列挙する仕組みのため、数千件のアイテムを持つライブラリでは、実際の処理時間と複数回のラウンドトリップが必要になります。NetDrive 3.17.799(2022-11-25)より前は、この列挙処理が同期的に実行されていました。つまり、フォルダビューは何かを表示する前に一覧の取得が完了するのを待っていたのです。3.17.799では、SharePoint向けに非同期リスト表示が導入され、この問題を解決しました。これにより、フォルダはバッチ全体の取得をブロックすることなく、届いたエントリから順に表示を開始できるようになりました。

同じ時期のリリースでは、NetDriveがSharePointのメタデータを表示する方法も改善されています——SharePointドライブの容量表示は、非同期リスト表示の直前のリリースである3.16.667(2022-06-30)で追加されました。チームが古いNetDriveのインストールでSharePointをマウントしたまま一度も更新していない場合、大規模ライブラリでの一覧表示の遅さは、設定ミスではなく想定通りの症状です。

SharePointプロバイダーのロゴ — NetDriveはWindowsおよびmacOSでSharePointドキュメントライブラリをサポートしています

非同期リスト表示に対応したバージョンかどうかを確認する

  1. NetDriveのDrive Managerを開き、About パネル(またはHelpメニュー)に表示されているバージョンを確認します。
  2. これを3.17.799と比較してください——それより古いバージョンは非同期SharePoint一覧表示に対応していません。現在の最新リリースは3.19.7です。
  3. バージョンが古い場合は、netdrive.net/downloadから最新のインストーラーをダウンロードして再インストールしてください。SharePointの接続情報と認証情報は引き継がれます。

接続済みのクラウドドライブ(SharePoint接続を含む)を表示するNetDriveのDrive Manager

ディレクトリキャッシュの容量を増やす

一度フォルダが一覧表示されると、NetDriveはその結果をローカルにキャッシュし、次回訪問時にSharePointとのラウンドトリップを繰り返さずに済むようにします。キャッシュサイズは設定可能で、最大1TBまで対応します(3.16.589、2022-03-31で導入された設定)。12のキャンペーンフォルダと数万件のファイルを持つライブラリでは、デフォルトよりも大きい割り当てにしておくことで、ツリーのより多くの部分をセッション間で温かい状態(キャッシュ済み)に保てます。この設定はDrive Manager内のドライブ設定から調整できます。

トレードオフとなるのは情報の鮮度です。同僚がブラウザから直接SharePointにファイルを追加した場合、NetDriveにキャッシュされたそのフォルダのビューには、キャッシュが失効するか手動で更新するまで反映されません。

接続されたSharePointドライブが正常にマウントされたことを確認している様子

キャッシュの失効を待たずにフォルダを強制更新する

特定のキャンペーンフォルダがアップストリームで更新されたとわかっている場合、キャッシュの失効を待ったりNetDriveを再起動したりする必要はありません。ExplorerまたはFinderでそのフォルダを右クリックし、Force folder refresh(3.8.921以降NetDriveに搭載されている機能)を使用すれば、そのフォルダだけを再列挙してキャッシュされた一覧を更新できます。

NetDriveのForce folder refreshメニューオプション。単一フォルダの内容を再一覧表示するために使用します

これにより、SharePointとのラウンドトリップは変更のあった1つのフォルダだけに限定され、他の場所に数千件のアイテムがあるライブラリであっても、この修正処理を高速に保てます。

一覧表示を高速に保つためのライブラリ構成

バージョンやキャッシュ設定以外にも、ライブラリ自体の構成方法は、NetDriveに限らずそのライブラリを読み取るすべてのツールの一覧表示速度に影響します。

  • フラットなフォルダを年やキャンペーンごとに分割する。 数年分のアセットを1つのフォルダにまとめてしまうと、一覧表示のたびにそのセット全体を走査することになります。2025/2026/、あるいはキャンペーンごとのサブフォルダに分割することで、個々の一覧表示を小さく保てます。
  • 完了したキャンペーンをアクティブなフォルダから外に移動する。 完了した作業は、チームがめったに開かない別のライブラリやフォルダツリーに移動させ、日常的に閲覧するフォルダを軽量に保ちましょう。

まとめ

NetDriveでSharePointの一覧表示が遅くなる問題は、接続の問題ではなく、ほとんどの場合バージョンとキャッシュに起因します。非同期リスト表示に対応した3.17.799以降を使用しているか確認し、ライブラリのツリーを保持できるだけのディレクトリキャッシュ容量を確保し、単発の更新にはキャッシュの失効を待たずにForce folder refreshを使いましょう。SharePoint接続そのもののセットアップについては、Windows版NetDriveでSharePointをマウントするまたはmacOS版NetDriveでSharePointをマウントするを、同様のキャッシュの仕組みをS3に適用した内容についてはNetDriveでS3ディレクトリ一覧表示の遅延を解決するをご覧ください。

— Robin, NetDrive