Изменение параметров кэша для сервера уровня приложений

Azure DevOps Server 2022 г. | Azure DevOps Server 2020 г. | Azure DevOps Server 2019 г.

Вы можете повысить или сбалансировать производительность при развертывании Azure DevOps Server, изменив параметры кэша для файлов, которые находятся в системе управления версиями на сервере уровня приложений. По умолчанию этот кэш включен, чтобы пользователи могли быстро скачивать файлы из кэша, а не непосредственно из базы данных. Администратор может изменить параметры этого кэша в любое время.

Эти задачи можно выполнить, изменив файл web.config для управления версиями, который находится в каталоге установки на сервере уровня приложений.

Примечание

По умолчанию каталогом установки для уровня приложений является %programfiles%\Azure DevOps Server 2019\Уровень приложений\Веб-службы.

Предварительные требования

Для выполнения этих процедур необходимо быть членом группы безопасности "Администраторы" на сервере уровня приложений для Azure DevOps.

Дополнительные сведения см. в разделе Контроль учетных записей.

Укажите другую корневую папку кэша

  1. На сервере уровня приложений создайте папку кэша.

    Можно создать папку на локальном диске, по пути UNC или на монтируемом диске. Например, можно создать следующую папку:

    d:\temp\cacheroot

    Важно!

    В папке кэша хранятся незашифрованные конфиденциальные сведения. Поэтому необходимо убедиться, что только учетная запись службы уровня приложений (TFSService) имеет разрешения на изменение этой папки.

  2. Откройте контекстное меню для папки и выберите Свойства.

    Откроется диалоговое окно Свойства для папки.

  3. На вкладке Безопасность выберите Изменить.

    Откроется диалоговое окно Разрешения .

  4. Выберите Добавить.

    Откроется диалоговое окно Выбор пользователей, компьютеров или групп .

  5. Добавьте TFS_APPTIER_SERVICE_WPG локальной группы и нажмите кнопку ОК.

  6. Выберите поле Изменить проверка, снимите все остальные поля проверка и нажмите кнопку ОК.

  7. В Windows Обозреватель (или проводник) перейдите по папке %programfiles%\Azure DevOps Server 2019\Уровень приложений\Веб-службы.

  8. Откройте файлweb.config в текстовом редакторе или редакторе XML, а затем найдите <appSettings> раздел .

  9. Добавьте в раздел строку appSettings , указывающую на только что созданную папку:

    <add key="dataDirectory" value="NewCacheRootFolderLocation" />
    

    Например, можно добавить следующую строку, если вы создали корневую папку кэша с именем cacheroot во временном каталоге жесткого диска, как показано в предыдущем примере:

    <add key="dataDirectory" value="d:\temp\cacheroot" />
    
  10. Сохраните и закройте файлweb.config .

    Примечание

    Чтобы обеспечить максимальную производительность, скопируйте файлы из старой папки кэша в новую папку кэша.

  11. Откройте окно командной строки, введите iisreset и нажмите клавишу ВВОД.

  12. Удалите старую корневую папку кэша.

    Примечание

    По умолчанию корневая папка кэша находится в папке %programfiles%\Azure DevOps Server 2019\Version Control Proxy\Web Services\VersionControlProxy\Data.

Изменение ограничений для удаления файлов из кэша

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

Изменение ограничения удаления старых файлов из кэша

  1. На сервере уровня приложений откройте windows Обозреватель (или проводник) и перейдите по папке \%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services.

  2. Откройте файлweb.config в текстовом или XML-редакторе, а затем найдите \<appSettings\> элемент .

  3. Добавьте один из следующих элементов:

    • Чтобы указать процент доступного места на диске до удаления старых файлов, добавьте PercentageBasedPolicy элемент . В качестве значения этого элемента необходимо указать целое число.

      Например, в следующей строке указывается, что для удаления старых файлов кэш должен заполнить 60% объема свободного дискового пространства:

      <add key="PercentageBasedPolicy" value="60" />
      
    • Чтобы указать фиксированный размер в МБ для кэша до удаления старых файлов, добавьте FixedSizeBasedPolicy элемент . В качестве значения этого элемента необходимо указать целое число.

      Например, в следующей строке указывается, что удаление старых файлов начнется, когда кэш достигнет размера 500 МБ:

      <add key="FixedSizeBasedPolicy" value="500" />
      

      Примечание

      Если указаны оба FixedSizeBasedPolicy элемента и PercentageBasedPolicy , вместо значения PercentageBasedPolicy элемента используется значение FixedSizeBasedPolicy элемента .

  4. Сохраните и закройте файлweb.config .

  5. Откройте окно командной строки, введите iisreset и нажмите клавишу ВВОД.

Изменение объема кэша на свободный при удалении старых файлов

  1. На сервере уровня приложений откройте windows Обозреватель (или проводник) и перейдите по папке %programfiles%\Azure DevOps Server 2019\Application Tier\Web Services\.

  2. Откройте файлweb.config в текстовом или XML-редакторе, найдите <appSettings> элемент и добавьте элемент CacheDeletionPercent .

    Например, в следующей строке указывается, что при удалении старых файлов следует освободить 50 % кэша:

    <add key="CacheDeletionPercent" value="50" />
    
  3. Сохраните и закройте файлweb.config .

  4. Откройте окно командной строки, введите iisreset и нажмите клавишу ВВОД.

Связанная статья