Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Обзор

Unity Accelerator – это кеширующий прокси-агент, который хранит копии импортированных ресурсов команды для ускорения совместной работы. Цель акселератора — помочь командам сократить время итерации. Акселератор координирует совместное использование ресурсов, когда ваша команда работает в одной и той же локальной сети, поэтому вам не нужно повторно импортировать части вашего проекта. Это делается с помощью возможностей конвейера импорта активов v2 Unity Editor. При желании Accelerator также можно использовать с командами Unity Advanced для совместного использования исходных ресурсов Collaborate, что значительно сокращает время загрузки из Совместная работаРазмещение Unity в облаке сервис, который предоставляет командам простой способ сохранять, делиться и вносить свой вклад в свой проект Unity. Подробнее
См. в сервисе Словарь
.

Когда вы устанавливаете ускоритель в локальной сети, редактор Unity (версия 2019.3 или более поздняя; см. требования к редактору Unity ниже) взаимодействует с ним для хранения и извлечения ресурсов, которые другие члены команды нуждаются, изменились или построили. Акселератор хранит временные копии этих ресурсов, чтобы не тратить время и трафик на их извлечение или повторный импорт.

Обзор ускорителя
Обзор ускорителя

Содержание

Установка ускорителя

Требования

Требования к локальному хостингу

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

  • На локальном хосте должна быть установлена ​​одна из следующих операционных систем:
    • Linux (Ubuntu 16.04, Ubuntu 18.04 или CentOS 7)
      Для Linux вы должны установить Accelerator как пользователь root.
    • Windows Server 2008R2/Windows 7 или выше (64-разрядная версия)
    • Mac OS X 10.12 или выше (64-разрядная версия)
  • На локальном хосте должно быть достаточно места для хранения большинства файлов вашего проекта, предпочтительно на твердотельном диске, отдельном от диска, на котором установлена ​​ваша операционная система.
  • На локальном хосте должно быть столько памяти, сколько это разумно доступно. Минимум должен быть 2 ГБ оперативной памяти, но если доступно больше памяти, она будет использоваться операционной системой для буферизации кэшированных элементов, что приведет к более высокой производительности для часто используемых элементов. Обычно рекомендуется 32 ГБ ОЗУ.
  • Локальный хост должен быть подключен к той же сети, что и ваша команда, или иметь локальную маршрутизацию с соответствующими политиками брандмауэра, которые разрешают доступ к IP-адресу и порту (TCP) ускорителя.
  • Любой, у кого есть доступ к хост-компьютеру, имеет доступ к файлам вашего проекта, независимо от структуры разрешений в вашей организации Unity. Поэтому Unity рекомендует ограничить этот компьютер, чтобы только владелец или менеджер организации мог получить доступ к ускорителю и взаимодействовать с ним.

Требования к редактору Unity

В вашем проекте Unity должен использоваться Unity Engine версии 2019.3 или выше.

Установка ускорителя с помощью установщика

Если у вас нет Unity Teams Advanced, вы можете загрузить и установить Unity Accelerator напрямую и снять флажок с маркера регистрации во время установки:

  • Загрузить для Windows
  • Загрузить для Mac OS X
  • Загрузить для Linux

Примечание. При установке Accelerator в системе Linux см. раздел Проверка версии Accelerator.

Вы также можете установить ускоритель через Docker Hub.

Установка Accelerator на «безголовую» машину

На каждой платформе вы можете запустить программу установки из командной строки. Если вы запустите установщик с аргументом --help, он отобразит различные доступные параметры. Чтобы запустить полную установку без каких-либо запросов, вы должны указать следующие значения:

  • --storagedir задает каталог, в котором ускоритель будет хранить файлы и конфигурации.
  • --registration-token указывает токен, предоставленный в разработчике панель управления после создания акселератора. Это необходимо для использования Accelerator с Collaborate.
  • Используйте --mode без присмотра для автоматических установок, которые не должны ничего запрашивать. Здесь используются значения по умолчанию или значения из других предоставленных опций.
  • В Mac OS X необходимо смонтировать образ диска (DMG) и запустить двоичный файл, расположенный в каталоге приложения-установщика (находится в Contents/MacOS/installbuilder.sh). ).

Настройка редакторов для использования ускорителя

При установке ускорителя на последнем шаге мастера настройки отображаются IP-адрес и порт для ссылки в вашем редакторе в следующем формате:

[IP]:[Порт]

Чтобы настроить редактор для использования этого ускорителя в качестве конвейера ресурсов версии 2, Cache Serverавтономное приложение, которое можно запускать ваш локальный компьютер, на котором хранятся данные импортированных активов, чтобы сократить время, необходимое для импорта активов. Подробнее
См. в Словарь
, выполните следующие действия:

  1. В редакторе Unity выберите Изменить > Настройки проекта… (Windows) или Unity > Настройки проекта… (OSX).
  2. Выберите Редактор в меню слева.
  3. В разделе Cache Server установите для параметра Mode значение Включено.
  4. Заполните IP-адрес IP-адресом Accelerator из мастера настройки.
  5. Нажмите кнопку Проверить подключение, чтобы проверить подключение.
Настройки проекта
Настройки проекта

При желании вы можете выбрать префикс пространства имен, отличный от префикса по умолчанию, если вы хотите обеспечить изоляцию от других проектов. Вы также можете индивидуально отключить загрузку или загрузку по мере необходимости. Например, вы можете захотеть, чтобы в системе сборки была разрешена только загрузка, а в редакторах разработчиков — только загрузка. Обратите внимание, что параметр TLS/SSL доступен только в версиях редактора, начиная с 2020.1, и ускоритель также должен быть настроен для TLS.

В главном представлении редактора вы можете проверить подключение ускорителя, посмотрев на строку состояния в правом нижнем углу (только в версиях редактора, начиная с 2020.1):

Связность проекта
Связность проекта

При желании вы можете настроить ускоритель для использования с помощью глобальных настроек, которые будут использоваться по умолчанию для всех проектов, если только они не будут переопределены настройками проекта. Чтобы настроить глобальные параметры, выберите кнопку Изменить > Пункт меню Настройки…:

Связность проекта
Связность проекта

Установка ускорителя через Docker Hub

Контейнер доступен в Docker Hub по адресу https://hub.docker.com/repository/docker/unitytechnologies/accelerator.

Первоначальная настройка

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

Переменные Использование
COLLAB_REGISTRATION_TOKEN Ускорьте Unity Collaborate
DISABLE_USAGE_STATS Установите значение true, чтобы отключить статистику использования. Если оставить статистику использования включенной, это поможет улучшить функции и производительность ускорителя, предоставляя Unity ценную обратную связь.
USER Имя пользователя для локальной встроенной панели мониторинга.
PASSWORD Пароль для локальной встроенной панели мониторинга.
CERT_HOSTNAME Имя хоста, используемое для поддержки TLS. Это используется для перенаправления и т. д. и соответствует CERT_PEM и KEY_PEM ниже.
CERT_PEM Путь к файлу cert.pem, который будет использоваться для поддержки TLS. Если вы установите CERT_HOSTNAME, но не зададите CERT_PEM, предполагается, что <persist_dir>/cert.pem.
KEY_PEM Путь к файлу key.pem, который будет использоваться для поддержки TLS. Если вы установите CERT_HOSTNAME, но не зададите KEY_PEM, предполагается, что <persist_dir>/key.pem.

Например, чтобы запустить и зарегистрироваться для использования службы Collaborate, вы можете запустить что-то вроде этого:

$ docker run --rm -ti -v "${PWD}/agent:/agent" -e 'COLLAB_REGISTRATION_TOKEN=ft0bJvbRD' unitytechnologies/accelerator:latest

Чтобы переопределить настройки TLS, продолжая приведенный выше пример, убедитесь, что ваши cert.pem и key.pem указаны в пути /agent, а затем включите CERT_HOSTNAME следующим образом:

$ docker run --rm -ti -v "${PWD}/agent:/agent" -e 'CERT_HOSTNAME=myhostname.com' -e 'COLLAB_REGISTRATION_TOKEN=ft0bJvbRD' unitytechnologies/accelerator:latest

Последующее выполнение

Вы также можете установить любые переменные среды, которые ускоритель обычно распознает. См. unity-accelerator --all-help и найдите параметры, которые указывают По умолчанию: $SOME_VARIABLE. Есть два, которые контейнер установит, если вы этого не сделаете:

Переменные Использование
UNITY_ACCELERATOR_PERSIST Контейнер по умолчанию — /agent. Это каталог, в котором находится файл unity-accelerator.cfg, а также другие сохраненные данные (cachedir может быть другим).
UNITY_ACCELERATOR_LOG_STDOUT Контейнер по умолчанию — true. Если это правда, журналы будут выводиться только на стандартный вывод; false, если вы хотите, чтобы фактические файлы журналов записывались в постоянный каталог.

Запуск контейнера

Мы подписываем образы Docker, поэтому настоятельно рекомендуем вам включить Docker Content Trust. :

$ export DOCKER_CONTENT_TRUST=1

Обычно у вас должна быть возможность запустить ускоритель следующим образом:

$ docker run -p 80:80 -p 443:443 -p 10080:10080 -v "${PWD}/agent:/agent" unitytechnologies/accelerator:latest

Однако, если вы хотите выбрать другое место, где Accelerator будет хранить конфигурацию и кэшированные артефакты, вы можете указать дополнительные значения конфигурации переменных среды, например:

$ docker run -p 80:80 -p 443:443 -p 10080:10080 -v "${PWD}/agent:/mnt/another_spot" -e "UNITY_ACCELERATOR_PERSIST=/mnt/another_spot" -e "UNITY_ACCELERATOR_DEBUG=true" unitytechnologies/accelerator:latest

Чтобы установить имя пользователя и пароль для локальной панели управления, вы можете использовать переменные среды USER и PASSWORD:

$ docker run -p 80:80 --env PASSWORD=[PASSWORD] --env USER=[USERNAME] unitytechnologies/accelerator:latest

Открытые порты

Следующие значения по умолчанию для портов, используемых Unity Accelerator: 80, 443, 10080, 10443.

Ускоритель с Unity Teams Advanced

Accelerator предоставляет дополнительные преимущества с помощью Unity Teams Дополнительно:

В обычных рабочих процессах Collaborate пользователи загружают и загружают файлы из облака. Благодаря ускоренному рабочему процессу Collaborate загрузки сохраняются в облаке и ускорителе, но пользователи загружают их прямо из ускорителя..
В обычных рабочих процессах Collaborate пользователи загружают и загружают файлы из облака. Благодаря ускоренному рабочему процессу Collaborate загрузки сохраняются в облаке и ускорителе, но пользователи загружают их прямо из ускорителя.

Настройка

Если у вас есть Unity Teams Advanced, один из владельцев или менеджеров вашей организации может создать акселератор от разработчика. панели управления, выполнив следующие действия:

  1. На вкладке Разработка панели инструментов выберите проект, для которого вы хотите создать ускоритель.
  2. В представлении проекта выберите Совместная работа > Ускоритель на левой панели навигации.
  3. Нажмите кнопку Новый ускоритель.
  4. В приглашении Новый ускоритель введите имя агента, которое Unity будет использовать для идентификации агента ускорителя. Вы также можете дополнительно указать номер порта.
    Новое окно ускорителя
    Примечание. Текущее ограничение составляет три акселератора на организацию.
  5. Нажмите Сохранить, чтобы подтвердить настройки.
  6. На следующем экране скопируйте токен регистрации, затем нажмите кнопку Ускоритель загрузки в правом верхнем углу и выберите соответствующую операционную систему.

    Загрузите Accelerator с панели инструментов разработчика.
    Вы также можете установить ускоритель через Docker Hub.

  7. Запустите загруженный установщик и следуйте указаниям мастера установки. Используйте скопированный вами регистрационный токен, чтобы зарегистрировать ускоритель в Unity Collaborate. Это позволит вам использовать ускоритель для повышения производительности Collaborate.

Примечание. При установке Accelerator в системе Linux см. раздел Проверка версии Accelerator.

Безопасность исходного объекта

При использовании с Unity Teams Advanced каждый ускоритель получает собственный сертификат безопасности, подтверждающий, что у него есть разрешение на доступ к вашей Организация. Прежде чем ускоритель загрузит или загрузит какой-либо контент, редактор Unity, делающий запрос, использует SSL/TLS для безопасного подключения к ускорителю и проверяет его подлинность. Когда редакторы Unity обнаруживают ускоритель и подключаются к нему, вместо передачи обычного токена пользователя Unity они получают специальный токен от службы идентификации Unity. Эти токены подтверждают личность пользователя и доступ к одному проекту в вашей организации, тем самым защищая доступ к любым другим организациям и проектам при использовании ускорителя.

Кроме того, вы можете предоставить сведения о конфигурации сервера Accelerator Cache, используя аргументы командной строки при запуске редактора Unity.

Чтобы указать, что вы хотите использовать Accelerator Cache Server, используйте аргумент -EnableCacheServer, а чтобы указать адрес и номер порта, используйте -cacheServerEndpoint Address:Port, заменив Address и Port данными вашего кэш-сервера.

Примечание. Сервер Accelerator Cache Server требует, чтобы ваш проект использовал базу данных объектов V2 (ADB2). Вы можете принудительно обновиться до ADB2 при запуске Unity из командной строки, используя аргумент -adb2.

Дополнительную информацию см. в разделе аргументы командной строки.

Мониторинг ускорителей

Панель локального администратора

Ускоритель имеет встроенную панель инструментов для быстрого мониторинга и изменения конфигурации.

Конфигурация ускорителя
Конфигурация ускорителя

См. раздел Инструменты командной строки для получения информации о том, как узнать URL-адрес вашей информационной панели; хотя, если вы знаете IP-адрес и порт ускорителя, вы можете просто использовать http://ip:port/dashboard, и ускоритель будет обрабатывать все необходимые перенаправления. Полный мониторинг метрик см. в разделе Прямой доступ к метрикам ускорителя. Полная конфигурация ускорителя доступна в его файле unity-accelerator.cfg.

Панель инструментов разработчика (только для пользователей Unity Teams Advanced)

Если вы являетесь опытным пользователем Unity Teams, вы можете отслеживать показатели Accelerator на панели инструментов разработчика. Эти метрики применяются только к исходным активам и не применяются к сгенерированным (импортированным) активам.

Чтобы просмотреть сводку по ускорителям вашего проекта, выберите этот проект, затем выберите Совместная работа > Ускорители на левой панели навигации. В этом меню вы можете просмотреть следующую информацию:

Свойства Описание
Name Имя, которое вы указали при создании ускорителя.
Avg. Efficiency Средняя эффективность ускорителя за последние 24 часа.
Editors Количество редакторов Unity, подключенных к ускорителю.
Latest Activity Последнее использование ускорителя.
Status Акселератор может находиться в одном из следующих состояний:

Доступно означает, что ускоритель не установлен или не зарегистрирован в службе Collaborate.
Готово означает, что ускоритель зарегистрирован в службе Collaborate, но к нему не подключены редакторы Unity.
- Используется означает, что редакторы Unity подключены или недавно подключались к ускорителю.
Неактивен означает, что редакторы Unity ранее использовали ускоритель, но в последнее время не было никаких действий.
- Не прослушивается означает, что ускорителю не удалось подключиться к настроенному порту (скорее всего, потому, что его уже использует другая служба).
Отключено означает, что ускоритель больше не подключен к службе для отчетов об использовании или получения изменений конфигурации.

Enabled Указывает, могут ли редакторы Unity обнаруживать и пытаться использовать ускоритель. Редакторы Unity не используют отключенные ускорители, независимо от того, запущены ли они.

Нажмите Подробнее для ускорителя, чтобы просмотреть следующую подробную информацию о его использовании. Эти данные обновляются каждые 10 минут.

Эффективность

Показывает среднюю производительность ускорителя за последние 24 часа. Значения варьируются от 0 до 100, измеряя процент загрузок контента, предоставляемых локально из ускорителя, а не удаленно из службы Collaborate. Значение 0 указывает на то, что ускоритель не оказывает активной помощи при загрузке содержимого. Значение 100 указывает на то, что ускоритель обеспечивает загрузку всего контента.

Байты удалены

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

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

Байт доставлено

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

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

Экономия времени

Ускоритель отслеживает пропускную способность, когда доставляет локально сохраненные ресурсы, а не загружает их из службы Collaborate, и сообщает о разнице во времени, которое редактор Unity должен был ожидать для удаленной загрузки ресурсов, сэкономленного времени.

Примечание. Вышеупомянутые показатели применимы только к исходным ресурсам. Они не применяются к сгенерированным (импортированным) активам.

Прямой доступ к показателям ускорителя

Если вы не используете Unity Teams Advanced, каждый ускоритель размещает отчеты с показателями Prometheus как /metrics, которые можно запросить из локальной сети. Ниже приведен полный список показателей, к которым у вас есть доступ:

Метрика Описание
process_resident_memory_bytes Объем памяти, используемый ускорителем.
uta_agent_sys_cpu_percent Количество ЦП, используемого системой.
uta_agent_sys_mem_bytes_used Объем памяти, используемый системой.
uta_agent_protobuf_connects Сколько раз редакторы Unity подключались к сервису конвейера импорта ресурсов.
uta_agent_protobuf_bytes_in Количество байтов, полученных из конвейера импорта активов.
uta_agent_protobuf_bytes_out Количество байтов, отправленных в конвейер импорта активов.
uta_agent_protobuf_requests{code="0",method="get"} Количество элементов, отправленных в конвейер импорта активов.
uta_agent_protobuf_requests{code="1",method="get"} Количество ошибок, возникающих при отправке элементов в конвейер импорта активов.
uta_agent_protobuf_requests{code="2",method="get"} Количество ошибок пространства имен, возникающих при отправке элементов в конвейер импорта активов.
uta_agent_protobuf_requests{code="3",method="get"} Количество запросов, сделанных из конвейера импорта активов для элементов, которые не были кэшированы.
uta_agent_protobuf_requests{code="0",method="put"} Количество элементов, полученных из конвейера импорта активов.
uta_agent_protobuf_requests{code="1",method="put"} Количество ошибок, возникающих из-за элементов, полученных из конвейера импорта активов.
uta_agent_protobuf_requests{code="2",method="put"} Количество ошибок пространства имен, возникающих из-за элементов, полученных из конвейера импорта активов.
uta_agent_protobuf_requests{code="0",method="delete"} Количество запросов на удаление элементов из конвейера импорта активов.
uta_agent_protobuf_requests{code="1",method="delete"} Количество ошибок, возникающих при удалении элементов конвейера импорта активов.
uta_agent_protobuf_requests{code="2",method="delete"} Количество ошибок пространства имен, возникающих при запросах на удаление элементов конвейером импорта активов..
uta_agent_protobuf_requests{code="3",method="delete"} Количество запросов на удаление элементов из конвейера импорта активов для элементов, которые не были кэшированы..
uta_agent_cache_bytes_evicted_unscheduled Количество байтов, удаленных из кеша во время «незапланированного» прохода. Незапланированные вытеснения происходят при нехватке места на диске во время обработки запроса. Обычно запланированные фоновые выселения должны соответствовать спросу, поэтому увеличение значения этой метрики указывает на перегрузку сервера. Увеличение CacheMinFreeBytes или CacheMinFreePercent в конфигурации может помочь получить больше свободного места в буфере, или вам может потребоваться обновить базовое оборудование или установить дополнительный ускоритель..
uta_agent_cache_files_evicted_unscheduled Аналогичен приведенной выше метрике uta_agent_cache_bytes_evicted_unscheduled, но вместо количества байтов подсчитывает удаленные файлы. Это может быть более простой метрикой для оповещения. Например: оповещение, когда метрика файлов увеличивается более чем на 1 в секунду.
uta_agent_protobuf_cache_hits Количество запросов конвейера импорта активов, которые были обслужены из кэша.
uta_agent_protobuf_cache_misses Количество запросов конвейера импорта активов, которые не удалось обслужить из кеша.
uta_agent_protobuf_cache_bytes_out Количество байтов, переданных из кэша в конвейер импорта активов.
uta_agent_protobuf_cache_bytes_in Количество байтов, сохраненных в кеше, полученных из конвейера импорта активов.

Отладка журнала редактора Unity

Журналы Редактора Unity полезны для просмотра отладочной информации. Чтобы просмотреть журналы событий Collaborate, запустите редактор Unity (или Unity Hub) с переменной среды, для которой задано значение enableCollabEventLogs=true. Журналы, отмеченные [collab-accelerator], могут помочь получить представление о производительности вашего ускорителя.

В приведенном ниже блоке показан пример вывода журнала для ускорителя с использованием конвейера импорта активов v2. Для этого не требуется enableCollabEventLogs=true, так как это не для Collaborate.

2019-10-07T11:34:51-0700 Using Asset Import Pipeline V2. ... 2019-08-08T09:04:03-0700 Start importing Assets/Scenes/tame-the-unicorn.png guid(07a0d449dcaef4d2ba104e9d9b350de6) 2019-08-08T09:04:05-0700 Done importing asset: 'Assets/Scenes/tame-the-unicorn.png' (target hash: 'd5fddd470dd9beedcd7261b6455e436a') in 1.082988 seconds 2019-08-08T09:04:05-0700 RemoteAssetCache::AddArtifactToCacheServer - artifactKey='Guid(07a0d449dcaef4d2ba104e9d9b350de6) Importer(-1,)' Target hash='d5fddd470dd9beedcd7261b6455e436a' Querying for cacheable assets in Cache Server: 86ac778e1a44c9143864797ddacf8cc9:Assets/New Material.mat RemoteAssetCache - Download - Metadata - success:true, namespace:81e94844d19a16919208533e08183531, key:8d71d5006046bb9d5e4a7172eec3f3b2 RemoteAssetCache - Download - Artifact - success:true, namespace:78b2fdc254b0a4f8a4693a81bb96598a, key:de1eef03efd25a722d1500658bf19038 for asset:'Assets/New Material.mat', time elapsed: 0.005171 seconds RemoteAssetCache - Download - Artifact - success:true, namespace:78b2fdc254b0a4f8a4693a81bb96598a, key:b19c9d64967a9691abecdb66364ae392 for extension:'Assets/New Material.mat.info', time elapsed: 0.004721 seconds

Остановка и перезапуск службы ускорителя

Ускоритель работает как фоновый процесс для каждой платформы.

Окна

Откройте Панель служб, выполнив поиск термина "Службы" в меню "Настройки" или запустив "_services.msc_" в диалоговом окне Выполнить (WIN + R). Затем найдите службу «Unity Accelerator» в полученном списке. На левой панели появится возможность Остановить службу или Перезапустить службу.

Mac OS X

Выполните команду launchctl из терминала, чтобы управлять службой com.unity.accelerator из утилиты LaunchControl. Для получения дополнительной информации посетите https://www.launchd.info/.

Линукс

Используйте консольную утилиту service для управления службой "unity-accelerator". Для получения дополнительной информации посетите http://manpages.ubuntu.com/manpages/bionic/ man8/service.8.

Техническое обслуживание

Служба ускорителя автоматически обновляется в течение периода обслуживания, который в настоящее время установлен на 01:00–02:00 по местному времени в зависимости от компьютера, на котором работает ускоритель. Это происходит только в том случае, если ускоритель обнаруживает доступную более новую версию.

Журналы установки и удаления Accelerator сохраняются в стандартном временном каталоге операционной системы как unity-accelerator-*install.log. Журналы ускорителя сохраняются в каталоге хранилища как unity-accelerator.log.

Инструменты командной строки

Ускоритель имеет большой набор инструментов командной строки, которые можно использовать для устранения неполадок, настройки и просто использования одного или нескольких ускорителей. Для простоты использования лучше добавить расположение исполняемого файла unity-accelerator в PATH. Исполняемый файл был установлен по пути, который вы выбрали при запуске установщика, например, C:\Program Files\Unity\accelerator.

Инструмент CLI имеет обширную справочную систему; вы можете запустить unity-accelerator без аргументов, чтобы начать:

$ unity-accelerator Unity Accelerator v1.0.524+g96c5e18 Run on a local network to speed up transactions with Unity Services. .....

Вы также можете запустить unity-accelerator --all-help, чтобы вывести весь текст справки для всех команд за один раз. Вероятно, лучше направить вывод через less или перенаправить вывод в текстовый файл для чтения.

При работе с определенным ускорителем, например, для его перенастройки, лучше всего изменить рабочий каталог на тот, в котором находится файл unity-accelerator.cfg. Вы также можете установить переменную среды UNITY_ACCELERATOR_PERSIST для этого каталога или попытаться не забывать всегда использовать --persist <dir>, но большинству проще всего изменить рабочий каталог.

Одним из довольно распространенных наборов инструментов cli являются инструменты панели управления:

$ unity-accelerator dashboard password newaccount Password: **** Again: **** $ unity-accelerator dashboard list admin newaccount $ unity-accelerator dashboard url http://172.18.37.249:8080/dashboard/

Последний инструмент, url панели управления, полезен для того, чтобы узнать, какой URL следует указать в браузере для доступа к встроенной панели управления.

Зеркалирование нескольких ускорителей

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

На данный момент функции зеркального отображения поддерживают только возможности исходящих данных, также известные как "push" или "forwarding". Вы можете нажимать/пересылать на несколько ускорителей или даже соединять их в цепочку: отправка A на B, отправка B на C и даже отправка C обратно на A. Вам не нужно беспокоиться о циклических цепочках; элементам присваивается отметка времени, поэтому ускоритель-получатель будет игнорировать любые входящие элементы, которые не новее того, что у него уже есть.

Давайте рассмотрим пример, в котором акселератор A имеет ip:port 1.1.1.1:1111, а акселератор B — 2.2.2.2:2222. Допустим, у обоих нет исходных данных, поэтому давайте поместим элемент в A и заметим, что его нет в B.

$ echo test1 | unity-accelerator cache put 1.1.1.1:1111 namespace1 key1 $ unity-accelerator cache get 1.1.1.1:1111 namespace1 key1 test1 $ unity-accelerator cache get 2.2.2.2:2222 namespace1 key1 key not found

Теперь давайте настроим A для пересылки на B. Мы сделаем это, изменив конфигурацию A, поэтому войдите в систему, на которой запущен ускоритель A, выключите ускоритель и:

# Shutdown Accelerator A $ cd <directory where unity-accelerator.cfg is> $ unity-accelerator config set ProtobufForwardPuts protobuf:2.2.2.2:2222 # Start Accelerator A back up

Теперь мы должны иметь возможность поместить другой элемент в кеш A и увидеть, как он перенаправляется в B.

$ echo test2 | unity-accelerator cache put 1.1.1.1:1111 namespace2 key2 $ unity-accelerator cache get 1.1.1.1:1111 namespace2 key2 test2 $ unity-accelerator cache get 2.2.2.2:2222 namespace2 key2 key not found # It will take up to a minute before the forwarding occurs, due to how the algorithm works with batching, etc. But within a minute or two you should see... $ unity-accelerator cache get 2.2.2.2:2222 namespace2 key2 test2

Однако это распространяется только на новые данные (любые новые элементы, добавленные в ускоритель A, будут перенаправлены на ускоритель B), но не на существующие данные. В нашем примере первый элемент все еще не находится в ускорителе B.

$ unity-accelerator cache get 2.2.2.2:2222 namespace1 key1 key not found

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

$ unity-accelerator cache push 1.1.1.1:1111 2.2.2.2:2222 {"msg":"push completed", "destination":"2.2.2.2:2222", "namespaces":2, "keys":2, "bytes":12, "supercededs":1, "errors":0, "elapsed":"44.054078ms"} $ unity-accelerator cache get 2.2.2.2:2222 namespace1 key1 test1

Инструмент push отправит запрос первому ускорителю и попросит его отправить все свои данные второму ускорителю. Когда это будет сделано, первый ускоритель отправит обратно ответ «push Completed» с подробным описанием того, что было сделано.

Существуют дополнительные расширенные параметры конфигурации, которые можно изучить, запустив unity-accelerator config help | less и выполните поиск Forward. Вы можете указать параллелизм пересылки, размер очереди, обработку ошибок и т. д.

Также обратите внимание, что вы можете изменить значения конфигурации для MaintenanceStart и MaintenanceDuration каждого зеркального ускорителя, чтобы они не отключались для обслуживания одновременно.

Устранение неполадок

Если вы установили ускоритель, но некоторые редакторы Unity его не используют, эта проблема может быть вызвана несколькими причинами. Следующие варианты устранения неполадок могут помочь вам решить эту проблему:

Проверьте используемые версии редактора Unity

Для использования ускорителя каждый участник проекта должен использовать редактор версии 2019.3 или выше.

Убедитесь, что пользователи находятся в локальной сети ускорителя

Убедитесь, что ускоритель работает в той же локальной сети, что и участники проекта, у которых возникли проблемы. Акселератор не влияет на участников, работающих удаленно.

Проверьте подключение ускорителя

Проверьте, может ли компьютер, на котором возникли проблемы, подключиться к ускорителю. Если вы используете Unity Teams Advanced, выполните следующие действия, чтобы получить доступ к странице работоспособности ускорителя в браузере:

  1. В панели инструментов разработчика выберите Совместная работа > Ускоритель.
  2. Нажмите Подробнее для ускорителя, который вы хотите протестировать.
  3. Нажмите значок информации рядом с IP-адресом акселератора, чтобы отобразить URL-адрес его страницы работоспособности.

Если вы не используете Unity Teams Advanced, введите IP-адрес узла акселератора в следующий URL-адрес, чтобы отобразить его страницу работоспособности:

[AcceleratorIP]:[AcceleratorPort]/api/agent-health

Если проверка не пройдена, убедитесь, что все хостовые и сетевые брандмауэры разрешают доступ к прослушиваемому IP-адресу и порту (TCP) Accelerator. Чтобы разрешить доступ к этому порту, вам может потребоваться согласование с вашим сетевым администратором.

Проверьте конфигурацию проекта акселератора

Если вы используете Unity Teams Advanced, убедитесь, что ускоритель настроен для рассматриваемого проекта. Перейдите к проекту в панели управления разработчика и выберите Совместная работа >. ; Ускоритель на левой панели навигации. Вы должны увидеть ускоритель в списке для этого проекта.

Проверка версии ускорителя

Для установки Accelerator в системах Linux все исполняемые файлы Linux имеют файлы подписи, которые вы можете проверить, чтобы убедиться, что никакие вредоносные объекты не вмешались в загруженную вами версию Accelerator. Вы можете проверить файлы подписи с помощью доверенной версии GnuPG. Ключ ниже подписывает текущую версию. Блок открытого ключа с ключом доступен по адресу https://collab-accelerator.cloud.unity3d.com/ .

pub rsa4096 2019-12-02 Key fingerprint = 9BC4 B04D F2E8 74E5 64AA 47E7 6D44 3B8B 002C F61F uid Unity Technologies ApS (Accelerator signing key) <sst-ops@unity3d.com>

Чтобы загрузить ключ в свой магазин GPG, используйте одну из следующих команд:

$ gpg --keyserver https://collab-accelerator.cloud.unity3d.com/ --search-key "sst-ops@unity3d.com" $ gpg --keyserver https://collab-accelerator.cloud.unity3d.com/ --recv-key 9BC4B04DF2E874E564AA47E76D443B8B002CF62F

Чтобы убедиться, что установленная вами версия Accelerator является оригинальной и немодифицированной, проверьте подпись файла.

Установочный файл Accelerator поставляется с файлом подписи, который доступен по адресу https://storage.googleapis.com/unity-accelerator-prd/unity-accelerator-installer.sig. Используйте этот файл подписи для проверки установщика Accelerator:

$ gpg --verify unity-accelerator-installer.sig unity-accelerator-linux-x64-installer.run

Прежде чем доверять ключу, сравните отпечаток с тем, что показано в поддельных или недоверенных ключах. После того, как вы доверитесь ключу, вы увидите что-то вроде:

gpg: Signature made Thu Jan 16 12:29:14 2020 PST gpg: using RSA key 9BC4B04DF2E874E564AA47E76D443B8B002CF61F gpg: Good signature from "Unity Technologies ApS (Accelerator signing key) <sst-ops@unity3d.com>" [ultimate]

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

Неверные ключи

Если у вас нет правильного ключа распределения, вывод вышеуказанных команд будет выглядеть следующим образом:

gpg: Signature made Thu Jan 16 12:29:14 2020 PST gpg: using RSA key 9BC4B04DF2E874E564AA47E76D443B8B002CF61F gpg: Can't check signature: No public key

В этом случае вы должны получить ключ, следуя приведенным выше инструкциям.

Поддельные или ненадежные ключи

Если у вас есть копия ключа с действительной подписью, но либо ключ не был помечен как доверенный, либо ключ является поддельным, выходные данные будут выглядеть следующим образом:

gpg: Signature made Thu Jan 16 12:29:14 2020 PST gpg: using RSA key 9BC4B04DF2E874E564AA47E76D443B8B002CF61F gpg: Good signature from "Unity Technologies ApS (Accelerator signing key) <sst-ops@unity3d.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 9BC4 B04D F2E8 74E5 64AA 47E7 6D44 3B8B 002C F61F

Если ключ был подделан, необходимо проверить отпечаток пальца с помощью файла подписи. Если ключ не помечен как доверенный, отредактируйте его, чтобы пометить как доверенный. Для получения дополнительной информации см. https://www.gnupg.org/gph/en/manual/x334.

Поддержка

Чтобы получить справку по Акселератору с Unity Teams, напишите в службу поддержки или отправьте справку с панель разработчика. Чтобы отправить заявку на проект Unity Teams Advanced, выберите свой проект, затем нажмите Совместная работа > Поддержка на левой панели навигации.

Чтобы получить справку об ускорителе с конвейером импорта объектов, посетите форумы об ускорителе.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3