Устранение медленного листинга SharePoint — NetDrive

4 мин чтения troubleshooting sharepoint performance
Robin
RobinDeveloper Advocate
Диагностика и устранение медленной загрузки списка файлов при монтировании большой библиотеки SharePoint в NetDrive. Асинхронный листинг, кеш и структура библиотеки.

Команда маркетинга монтирует общую библиотеку документов SharePoint через NetDrive, чтобы вся команда могла перетаскивать файлы в неё, как в любой другой диск. Библиотека выросла до более чем 20 000 файлов в десятке папок с кампаниями, и открытие папки верхнего уровня в Проводнике теперь на несколько секунд зависает на индикаторе загрузки, прежде чем что-либо отобразится. Ничего не сломано — библиотека просто настолько велика, что 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 — без синхронизации и полной загрузки файлов.

  • Асинхронный листинг каталогов для больших библиотек документов
  • Настраиваемый кеш каталогов до 1 ТБ
  • Принудительное обновление отдельной папки при изменении файлов на сервере
WindowsmacOS
Скачать NetDrive →

Бесплатный пробный период. Доступны бессрочная лицензия и подписка.

Почему большие библиотеки SharePoint листятся медленно

SharePoint не передаёт NetDrive содержимое папки одним ответом, как это делает локальная файловая система — он перечисляет библиотеку через API SharePoint, а библиотека с тысячами элементов требует реального времени и нескольких обращений к серверу для полного обхода. До версии NetDrive 3.17.799 (25.11.2022) это перечисление выполнялось синхронно: представление папки ожидало полного списка, прежде чем что-либо показать. Версия 3.17.799 ввела асинхронный листинг специально для SharePoint, чтобы это исправить, — теперь папка может начинать отображать элементы по мере их поступления, а не блокироваться до получения всей партии.

В тот же период релизов улучшилось и то, как NetDrive отображает метаданные SharePoint — отображение квоты для дисков SharePoint появилось в версии 3.16.667 (30.06.2022), сразу перед асинхронным листингом. Если ваша команда подключила SharePoint на старой установке NetDrive и никогда её не обновляла, медленный листинг большой библиотеки — это ожидаемый симптом, а не ошибка конфигурации.

Логотип провайдера SharePoint — NetDrive поддерживает библиотеки документов SharePoint на Windows и macOS

Убедитесь, что у вас версия с асинхронным листингом

  1. Откройте Диспетчер дисков NetDrive и проверьте версию, указанную на панели «О программе» (или в меню «Справка»).
  2. Сравните её с 3.17.799 — всё, что старше, предшествует асинхронному листингу SharePoint. Текущий релиз — 3.19.7.
  3. Если вы отстаёте, загрузите последний установщик с netdrive.net/download и переустановите; подключения и учётные данные SharePoint сохранятся.

Диспетчер дисков NetDrive с подключёнными облачными дисками, включая подключение SharePoint

Выделите кешу каталогов больше места

После того как папка была перечислена, NetDrive кеширует этот список локально, чтобы при следующем посещении не повторять обращения к SharePoint. Размер кеша настраивается — до 1 ТБ, эта настройка появилась в версии 3.16.589 (31.03.2022). Библиотеке с десятком папок кампаний и десятками тысяч файлов пойдёт на пользу больший объём, чем по умолчанию, поскольку большая часть дерева сможет оставаться «тёплой» между сеансами. Настройте это в параметрах диска внутри Диспетчера дисков.

Компромисс — это устаревание данных: если коллега добавляет файлы напрямую через браузер SharePoint, кешированное представление этой папки в NetDrive не покажет их, пока кеш не истечёт или вы не обновите его вручную.

Проверка успешного подключения диска SharePoint

Принудительное обновление папки вместо ожидания истечения кеша

Когда вы знаете, что конкретная папка кампании только что изменилась на сервере, нет необходимости ждать истечения кеша или перезапускать NetDrive. Щёлкните правой кнопкой мыши по папке в Проводнике или Finder и выберите Force folder refresh — функцию, доступную в NetDrive начиная с версии 3.8.921, — чтобы заново перечислить только эту папку и обновить её кешированный список.

Пункт меню принудительного обновления папки в NetDrive для повторного листинга содержимого одной папки

Это ограничивает обращения к SharePoint только той папкой, которая изменилась, а не всей библиотекой, что делает исправление быстрым даже в библиотеке с тысячами элементов в других местах.

Структурируйте библиотеку для быстрого листинга

Помимо версии и настроек кеша, на скорость листинга влияет и то, как организована сама библиотека — причём для любого инструмента, который её читает, а не только для NetDrive:

  • Разделяйте плоские папки по годам или кампаниям. Одна папка, хранящая ресурсы за несколько лет, заставляет каждый вызов листинга обходить весь набор. Разбиение на 2025/, 2026/ или подпапки по кампаниям уменьшает размер каждого отдельного листинга.
  • Архивируйте завершённые кампании за пределы активной папки. Перенесите завершённую работу в отдельную библиотеку или дерево папок, которое ваша команда открывает редко, чтобы папка, которую люди просматривают ежедневно, оставалась компактной.

Заключение

Медленный листинг SharePoint в NetDrive почти всегда связан с версией и настройками кеша, а не с проблемой подключения: убедитесь, что у вас версия 3.17.799 или новее для асинхронного листинга, выделите кешу каталогов достаточно места для дерева библиотеки и используйте принудительное обновление папки для разовых изменений вместо ожидания истечения кеша. О настройке самого подключения SharePoint см. Mount SharePoint on Windows with NetDrive или Mount SharePoint on macOS with NetDrive; о той же механике кеширования применительно к S3 см. Fix Slow S3 Directory Listing with NetDrive.

— Robin, NetDrive