Хотя SharePoint — платформа весьма объемная, в наши дни она эксплуатируется в той или иной мере на предприятиях самых разных масштабов, от небольших до наиболее крупных. Однако при создании среды, будь то для корпоративной закрытой сети, сайта для обслуживания широкого круга клиентов или даже простого сайта для организации совместной работы, специалистам приходится сталкиваться с рядом похожих проблем.

Если бы можно было выделить один главный урок, который я извлек за прошедшие годы, то он бы сводился к следующему: я научился разбираться в проблемах производительности и средств сетевого соединения существующего решения SharePoint. Это дает мне как администратору возможность правильно устанавливать планку ожиданий для конечных пользователей внутри организации. Слишком часто мне доводилось выслушивать мнения пользователей, рассчитывающих на то, что каждая страница должна загружаться за Х секунд, как обычная веб-платформа, тогда как в действительности, хотя достижение этого показателя остается в рамках возможного, логическая структура SharePoint делает это трудновыполнимым. Платформа SharePoint не относится к категории легковесных приложений и никогда не претендовала на данный статус. Она действительно обладает выдающимися функциональными возможностями и может дать пользователям больше, чем почти все средства управления контентом и платформы для совместной работы, вместе взятые. Но это же обстоятельство может обернуться недостатком, поскольку будет тормозить внедрение и осложнять работу пользователей.

Вам будет проще установить надлежащий уровень ожиданий для пользователей, если вы выполните следующие операции:

  1. Выберите реалистичное значение для параметра «время загрузки страницы».
  2. Вновь просмотрите страницу, содержащую требования по Usage Load, зафиксируйте фактическое число.
  3. Проверьте быстродействие сервера.
  4. Проверьте скорость передачи данных с сервера на сервер.
  5. Проверьте настройки системы SharePoint.

Все эти действия просты и, возможно, очевидны с точки зрения здравого смысла. Но именно из-за их невыполнения часто возникают ситуации, которые воспринимаются нами как низкая производительность или неудовлетворительная работа средств сетевого соединения внутри системы SharePoint. Итак, что же мы можем сделать внутри каждой из этих сфер с точки зрения идентификации и решения проблемы? Обратимся для начала к вопросу установления уровня ожиданий.

Когда в обычной среде SharePoint (возьмем для примера систему с одной виртуальной машиной) используемая по умолчанию страница сайта SharePoint загружается в первый раз (для соответствующего рабочего дня), данный процесс может занять довольно длительное время. Это стандартная проблема «компиляторов just-in-time», с которой все мы хорошо знакомы. Как вы можете убедиться, в моем случае процесс загрузки страницы без предварительной ее обработки занял 35 секунд (см. экран 1). Разумеется, следующий запрос выполняется быстрее (см. экран 2).

 

Процесс загрузки страницы без предварительной обработки
Экран 1. Процесс загрузки страницы без предварительной обработки

 

Процесс загрузки страницы после ее предварительной обработки
Экран 2. Процесс загрузки страницы после ее предварительной обработки

Теперь мы знаем, как решается данная проблема. Для этого применяется тот или иной вариант подготовительного процесса, обеспечивающего приведение страниц в состояние готовности. Теперь давайте воспользуемся той же логикой и применим ее к сайту, который уже «разогрет» и должен функционировать быстро, но его страницы загружаются медленно. Мне доводилось видеть множество страниц или подобного рода сайтов, требующих для загрузки данных больше времени, чем предполагалось. В ряде случаев причина кроется в компонентах, в структуре, а часто в индивидуальных настройках. Однако логическая структура страницы и сайта загружает немалое число компонентов, которые могут стать причиной снижения быстродействия.

Взглянув на параметры загрузки данных на моем сайте, вы можете увидеть, что именно загружается (см. экран 3).

 

Параметры загрузки данных на конкретном сайте
Экран 3. Параметры загрузки данных на конкретном сайте

Если мы повторим процесс и выполним его применительно к обычной библиотеке документов, вы увидите, что отображается и запрашивается еще большее число компонентов (см. экран 4).

 

Загрузка обычной библиотеки документов
Экран 4. Загрузка обычной библиотеки документов

Нетрудно заметить, что список может быть весьма обширным и что в него не включаются какие-либо дополнительные элементы, которые могут располагаться на странице, скажем веб-части или даже пользовательские компоненты. Элементы пользовательской настройки дизайна сайта в этот список также не входят. При определении реального времени загрузки страниц важно установить такие критерии, как нормальный трафик, ожидаемый трафик и пиковый трафик. Просматривая ресурсы Интернета, я как-то наткнулся на следующие соображения относительно времени загрузки страниц, высказанные сотрудниками компании Hubspot:

«Если время загрузки страницы HTML составляет менее 1,5 секунды (такой показатель имеют 20% самых «быстрых» страниц в Сети), на экране появится галочка, указывающая на то, что загрузка страницы прошла без ошибок.

Если время загрузки страницы HTML составит от 1,5 до 5 секунд, на экране появится предупреждение: скорость загрузки страницы не идеальна.

Если же для загрузки HTML-страницы потребуется более 5 секунд, на экране отобразится сообщение об ошибке, свидетельствующее о том, что страница загружается слишком долго».

Таким образом, если при использовании других платформ и решений для установления уровня ожиданий по времени загрузки страницы допустимыми считаются указанные выше показатели, мой ничем не примечательный сайт SharePoint в данных обстоятельствах генерирует сообщение об ошибке в связи со слишком медленной загрузкой. На мой взгляд, тут все дело в том, какой смысл вкладывается в понятие «страница HTML». Хотя этот термин означает то, что мы имеем на выходе, надо иметь в виду, что мы еще добавляем какие-то компоненты в процессе загрузки, чтобы результат отображался как файл HTML. А SharePoint функционирует не так, как большинство приложений, разработанных как настоящие средства для управления представлением информации.

Впрочем, все это не отменяет необходимости составлять и внедрять рекомендации для веб-разработчиков и специалистов по стилю. Из этого следует, что нам нужно более реалистично подходить к выбору таких параметров, как время загрузки страницы, перед тем как передавать их организациям. Заявив, что корпоративная сеть будет загружаться меньше чем за секунду, вы, возможно, предложите недостижимый ориентир. Ведь и страница, и сайт деконструируются, распадаются на то, что происходит в каждой области, на компоненты страницы, элементы дизайна, а также на индивидуализирующие настройки.

Кроме того, в своих расчетах вы должны будете принять во внимание и ряд других факторов.

  • Сервер. Если вы будете использовать локальное оборудование, сделайте поправку на спецификации физического сервера. Если ваш выбор — работа в «облаке», учтите характеристики серверов, используемых для работы с базовой службой, такой как Office 365.
  • Сеть. При использовании «облачной» службы, такой как Office 365, это будет внутренняя сеть Microsoft, далее Интернет и ваша локальная сеть между центром обработки данных и пользователями. В чисто локальной сети это будет внутренний и внешний сегмент Интернета.
  • Браузер. Система, откуда загружается сайт, выбранный вами браузер, применяемое устройство — все эти факторы играют свою роль в определении производительности сайта.

В большинстве случаев можно назвать пять причин, снижающих скорость загрузки страниц или сайтов:

  • проблемы с навигацией;
  • агрегирование содержимого;
  • объемные файлы;
  • множество запросов к серверу;
  • обработка веб-частей.

Эти проблемы могут повлечь за собой снижение скорости загрузки, ошибки или просто осложнить работу на сайте для конечных пользователей. Полезные рекомендации по проблемам, связанным с быстродействием страниц, вы найдете в статье, подготовленной специалистами сайта TechNet, по адресу: https://msdn.microsoft.com/en-us/library/office/dn449110.aspx

Диагностировать проблемы производительности вам помогут такие инструменты, как Fiddler, YSlow и др. Прекрасными средствами визуализации этого процесса обладает инструмент Microsoft Visual Round Trip Analyzer. Он обеспечивает графическое представление трафика, отражающего быстродействие (см. экран 5).

 

Визуализация с помощью инструмента Microsoft Visual Round Trip Analyzer
Экран 5. Визуализация с помощью инструмента Microsoft Visual Round Trip Analyzer

Кроме того, программа возвращает показатели по каждому разделу — от файлов JavaScript до загружаемых страниц (см. экран 6). Это позволит вам увидеть, какие изменения можно внести для повышения производительности страницы и сайта. Наряду с проверкой времени загрузки страниц и быстродействия сети вы получите обзор базовых настроек SharePoint, что станет значительным подспорьем в деле обеспечения надлежащей наладки всех компонентов системы. Завершив анализ этих обзоров, вы сможете определить в масштабах организации приемлемый диапазон временных интервалов загрузки, скоростей сетевого доступа и общей производительности.

 

Информация по разделам
Экран 6. Информация по разделам