Требования к программному и аппаратному обеспечению
В данном руководстве описаны минимальные требования к программному и аппаратному обеспечению для развертывания Loop. Требования могут варьироваться в зависимости от вариантов использования, поэтому перед масштабированием рекомендуется протестировать на пилотном проекте.
Обзор развертывания
Пожалуйста, обратитесь к документации Порядок развертывания Loop для получения краткой информации о программных системах, требования к которым описаны в данном документе.
Требования к программному обеспечению
Клиентское программное обеспечение
Десктопные приложения
| Операционная система | Технические требования для Self-hosted | Технические требования к Cloud версии |
|---|---|---|
| Windows | Windows 10+ | Windows 10+ |
| Mac | macOS 11+ | macOS 11+ |
| Linux | Ubuntu LTS 18.04 и более поздней версии | Ubuntu LTS 18.04 и более поздней версии |
- Несмотря на то, что официально это не указано, но десктопное приложение для Linux также работает на RHEL/CentOS 7+
Интегрированная аутентификация Windows не поддерживается десктопными приложениями Loop. Если вы используете ADFS, рекомендуем настроить внутрисетевую аутентификацию на основе форм для устройств, которые не поддерживают WIA
Web-приложение на ПК
| Браузер | Технические требования для Self-hosted | Технические требования к Cloud версии |
|---|---|---|
| Chrome | v112+ | v112+ |
| Firefox | v102+ | v102+ |
| Safari | v16.2+ | v16.2+ |
| Edge | v110+ | v110+ |
- Internet Explorer (IE11) больше не поддерживается. Рекомендуем использовать десктопное приложение Loop или другой браузер из списка
Мобильные приложения
| Операционная система | Технические требования |
|---|---|
| iOS | Устройства iPhone 5s и более поздние версии с iOS 12.1+ |
| Android | Устройства Android с Android 7+ |
Браузеры мобильного устройства
| Браузер | Технические требования |
|---|---|
| iOS | iOS 12.1+ с Safari 16.2+ или Chrome 112+ |
| Android | Android 7+ с Chrome 112+ |
Почтовые клиенты
-
Десктопные клиенты: Outlook 2010+, Apple Mail версии 7+, Thunderbird 38.2+
-
Веб-клиенты: Office 365, Outlook, Gmail, Yahoo, AOL
-
Мобильные клиенты: iOS Mail App (iOS 7+), Gmail Mobile App (Android, iOS)
Серверное программное обеспечение
Операционная система сервера Loop
-
Ubuntu 18.04, Debian Buster, CentOS 6+, CentOS 7+, RedHat Enterprise Linux 7+, Oracle Linux 6+, Oracle Linux 7+.
-
Рекомендуем использовать развертывание с помощью Docker на Docker-совместимой операционной системе (ОС на базе Linux).
Программное обеспечение для баз данных
-
PostgreSQL 10.0+
-
MySQL 5.7.12, 8.0.12+ (см. примечание ниже о поддержке MySQL 8)
Также поддерживаются эквиваленты PostgreSQL и MySQL в Amazon Aurora.
MariaDB v10+ больше не функционирует как замена MySQL, и не поддерживается для Loop из-за требования MySQL 5.7.12. Предыдущие версии MariaDB официально не поддерживались, но могли работать в старых выпусках Loop. Если на данный момент вы используете MariaDB, рекомендуется перейти с MariaDB на эквивалент MySQL.
Развертывания, требующие поиска на китайском, японском и корейском языках, требуют MySQL 5.7.6+ и конфигурации полнотекстового парсера ngram. Для поиска двух символов вам также потребуется установить ft_min_word_len и innodb_ft_min_token_size равными 2 и перезапустить MySQL.
Ограничения поиска по PostgreSQL:
-
Адреса электронной почты не возвращают результаты.
-
Хэштеги или недавние упоминания имен пользователей, содержащие тире, не возвращают результаты поиска.
-
Термины, содержащие тире, возвращают неверные результаты, поскольку тире игнорируется в поисковом запросе.
-
Если что-то из вышеперечисленного является проблемой, вы можете либо включить Elasticsearch, либо установить MySQL вместо PostgreSQL.
Ограничения поиска в MySQL:
-
Хэштеги или недавние упоминания имен пользователей, содержащих точку, не возвращают результаты поиска.
-
Система миграции требует от пользователя базы данных MySQL дополнительных привилегий EXECUTE, CREATE ROUTINE, ALTER ROUTINE и REFERENCES для выполнения миграции схемы.
Поддержка MySQL 8:
В MySQL 8.0.4 плагин аутентификации по умолчанию был заменен с 'mysql_native_password' на 'caching_sha2_password' (https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/). Поэтому необходимо включить 'mysql_native_password', добавив следующую запись в конфигурационный файл MySQL:
'[mysqld] default-authentication-plugin=mysql_native_password'
В MySQL 8 стандартная кодировка изменилась на 'utf8mb4_0900_ai_ci' (https://dev.mysql.com/doc/mysqld-version-reference/en/optvar-changes-8-0.html). Поэтому, если вы обновите MySQL до версии 8, то будет необходимо преобразовать таблицы базы данных для использования новой стандартной кодировки:
'ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;'
Если это изменение не будет сделано, то таблицы в базе данных будут иметь разные параметры для сортировки, что приведет к ошибкам при выполнении запросов.
В MySQL версий 8.0.0 - 8.0.11 'ADMIN' является зарезервированным ключевым словом, вот почему мы требуем MySQL - версия 8.0.12.
MySQL 8.0.22 содержит проблему с типами столбцов JSON, изменяющими строковые значения на целые числа, что препятствует корректной работе Loop. Пользователям рекомендуется избегать этой версии базы данных.
Требования к аппаратному обеспечению(оборудованию)
-
Использование процессора, оперативной памяти и дискового пространства может значительно варьироваться в зависимости от поведения пользователей. Данные рекомендации по аппаратному обеспечению основаны на традиционном развертывании и могут увеличиваться или уменьшаться в зависимости от активности пользователей.
-
Требования к памяти могут быть обусловлены пиковой активностью обмена файлами. Рекомендации основаны на стандартном максимальном размере файла 50 МБ, который можно настроить в Системной консоли. Изменение этого числа может изменить требования к памяти.
-
При развертывании системы, рассчитанной на более чем 2 000 пользователей, рекомендуется использовать фреймворк нагрузочного тестирования системы для имитации нагрузки близко к реальной: https://github.com/mattermost/mattermost-load-test.
-
Loop поддерживает любую 64-битную архитектуру процессора x86.
Требования к аппаратному обеспечению для развертывания команд
Большинство малых и средних командных развертываний Loop могут поддерживаться на одном сервере со следующими характеристиками, основанными на зарегистрированных пользователях:
-
1 - 1,000 пользователей - 1 vCPU/ядра, 2 GB RAM
-
1,000 - 2,000 пользователей - 2 vCPU/ядра, 4 GB RAM
Требования к аппаратному обеспечению для развертывания на предприятиях (многосерверные)
Требования к масштабированию
-
Для развертывания Корпоративной версии с несколькими серверами см. наше руководство по масштабированию.
-
Настоятельно рекомендуется проводить пилотное тестирование перед развертыванием на всю организацию, чтобы оценить масштаб использования на основе ваших конкретных организационных потребностей. Для моделирования использования вашей системы можно использовать механизм нагрузочного тестирования с открытым исходным кодом Mattermost: https://github.com/mattermost/mattermost-load-test.
-
Инструменты мониторинга производительности Mattermost можно использовать для детального измерения производительности и проверки работающей системы, чтобы убедиться в правильности установки и количестве выделенных ресурсов.
Системные требования
Для развертывания Enterprise Edition с несколькими серверами рекомендуются следующие системы для поддержки развертывания Loop:
-
Prometheus, для отслеживания состояния вашей инсталляции Loop с помощью функции мониторинга производительности, доступной в Loop Корпоративный.
-
Grafana для визуализации показателей здоровья системы, собранных Prometheus с помощью функции мониторинга производительности. Рекомендуется использовать Grafana 5.0.0 и более поздние версии.
-
Elasticsearch для поддержки высокоэффективного поиска. Поддерживается Elasticsearch 8.x.
-
MinIO или AWS S3. Loop совместим с системами хранения объектов, которые реализуют API S3. Другие S3-совместимые системы могут работать, но официально не поддерживаются.
Альтернативные расчеты хранения
В качестве альтернативы рекомендованным выше расчетам размера хранилища можно спрогнозировать использование собственного хранилища. Начните с сервера Loop размером примерно 600-800 МБ, включая операционную систему и базу данных, затем добавьте умноженное произведение:
-
Расчетное количество хранилища на пользователя в месяц (см. ниже), умноженное на 12 месяцев в году
-
Расчетное среднее количество пользователей в год
-
1-2-кратный коэффициент безопасности
Расчетное хранилище на одного пользователя в месяц
Использование файлов на пользователя существенно отличается в разных отраслях. Рекомендуется использовать следующие контрольные показатели:
- Команды с низким уровнем использования (1-5 МБ/пользователь/месяц)
В основном используют текстовые сообщения и ссылки для общения. В качестве примера можно привести команды разработчиков программного обеспечения, которые активно используют веб-инструменты для создания и управления документами и поэтому редко загружают файлы на сервер.
- Команды со средним уровнем использования (5-25 МБ/пользователь/месяц)
Используют для общения текстовые сообщения, а также общие документы и изображения. Примером могут служить бизнес-команды, которые обычно перетаскивают скриншоты, PDF-файлы и документы Microsoft Office в Loop для обмена и просмотра.
- Команды с высоким уровнем использования (25-100 МБ/пользователь/месяц)
Наибольшее количество пользователей приходится на команды, регулярно загружающие большое количество больших файлов в Loop. В качестве примера можно привести творческие команды, которые обмениваются и хранят файлы и медиа с тегами и комментариями в процессе конвейерного производства.
Например: команде из 30 человек со средним уровнем использования (5-25 МБ/пользователь/месяц) с коэффициентом безопасности 2x потребуется от 3,5 ГБ (30 пользователей * 5 МБ * 12 месяцев * 2x коэффициент безопасности) до 17,6 ГБ (30 пользователей * 25 МБ * 12 месяцев * 2x коэффициент безопасности) свободного пространства в течение следующего года.
Рекомендуется проводить анализ использования хранилища не реже одного раза в квартал, чтобы убедиться в наличии достаточного свободного пространства.