Обновить

Комментарии 21

А не стоит ли вместо прожорливого Synapse рассмотреть вариант с намного менее ресурсоемким Tuwunel? Да, по поддержке фич он немного отстает, но памяти и процессорного времени потребляет заметно меньше - ибо написан на расте, а не на питоне.

откуда берётся информация о прожорливости Synapse? у меня он в пиках потребляет чуть больше 150мб памяти: это сложно назвать какой-то заметной нагрузкой. Да, у него околонулевая нагрузка в виде семейного чатика\звонилки, но и желающие развернуть своё руководствуясь этой статьей будут почти наверняка ставить себе похожие задачи

у него околонулевая нагрузка в виде семейного чатика\звонилки

Воот, а что будет если зайти в комнату Matrix HQ например?

ну, да, безусловно, с Matrix HQ synapse набрал сразу + 530мб.
но, с другой стороны, в комнате ~3800 пользователей, и вроде бы 140кб на пользователя не так уж и много
надо ли их всех держать в памяти? ну может и не обязательно, но с другой стороны это гораздо быстрее нежели делать запросы в федерацию. Да, можно на диске их держать, но тут вопрос о производительности опять

Все верно, Matrix HQ хороший стресс-тест.
Там огромная история событий, и Synapse начинает держать в памяти довольно много данных.
С другой стороны, это компромисс между RAM и количеством обращений к федерации.

Версию комнаты недавно обновили, история и участники сбросились, так что стресс-тест теперь не такой стрессовый как раньше

Спасибо, не знал. Тогда да, стресс-тест стал мягче. Хотя даже в таком виде интересно посмотреть, как Synapse справляется с ростом комнаты и потоком событий.

Спасибо за график.
Да, при небольших комнатах Synapse вправду ведёт себя довольно спокойно по памяти.
Я в статье больше ориентировался на сценарий с федерацией, пушами и звонками, где нагрузка постепенно растёт.
Интересно было бы посмотреть метрики при активной федерации.

Tuwunel выглядит интересным вариантом, да, но в этой статье я сознательно выбрал Synapse, поскольку это референс-сервер на Matrix и, как никак, документации и интеграций больше под него (OIDC, мосты, federation). Хотя согласен с Вами, что для более лёгких инсталляций Rust-реализации могут быть интереснее.

Сейчас главная проблема с серверами отличными от synapse - это клиент Element X и MAS, который поддерживается только Synapse. По сути каких-то полноценных альтернатив Element X у нас нет, потому что звонки работают только в нем, но и зарегистрироваться через него больше на альтернативном сервере нельзя, только сделать это через десктопный/веб клиент и ввести логин/пароль в мобильном клиенте руками.

поднял "это" 2 недели назад - абсолютно непредсказуемая штука, можно конечно списать на мои кривые ручонки, но реддит забит теми же проблемами, о которые я спотыкался. Буду искать дальше(

Понимаю, о чём вы. Судя по обсуждениям, у Synapse реально бывают довольно непредсказуемые моменты в зависимости от конфигурации и версии. Я в своём "эксперименте" тоже несколько раз натыкался на странное поведение. Если докопаетесь до причины, будет интересно почитать!

Это конфигурация сервера дома?

А на впс уже 2гб ОЗУ и 1цп не обойтись верно? На 10-15 человек для компании

Скорее всего нет, видел где-то в документации, что для комфортной работы от 4 CPU и 8 ГБ ОЗУ нужен сервер. Точно не могу сказать, основываюсь только на этой информации

image: postgres:15-alpine

Меньше места занимает

Попробуйте поднять с помощью этого https://github.com/spantaleev/matrix-docker-ansible-deploy

И использовать как клиент Element - не Element X.

Работает для 500+ человек - внутренний чат для конторы.

Это не магия, просто дисциплина:

чтож, ai not assisted контент становится все ценней и ценней. как будто средний разраб и так постоянно не "юзает".

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

не совсем понимаю цель статьи.

вроде как в начале сказано это не гайд, а как бы очерк своего варианта варки матрикса. но при этом частично конфиги прилагаются (причем с такими конфигами оно не полетит).

кликнул на статью почитать про "подписанные обновления", по итогу тут в паре абзацев про самоподписанные

upd: что здесь вообще делает "Сложный"?

Народе подскажите, был matrix два года назад..звонки шли через jitsi. Были траблы но работало. Щас хочу поставить сново но думал звонки через livekit. Так вот звонки через livekit они как конференция, будет прилетать в чат приглашение? Или будет звонок поступать в апку?

Они как конференция, но звонок в приложение поступает, так что все ок. Из минусов - всегда по умолчанию видеорежим и нет нормального звонка без громкой связи.

Спасибо, понравилось, что вы начали не с установки ради установки, а с требований и разделения ответственности между MAS, Synapse, LiveKit и Coturn. Для self-hosted сценария у меня главный вопрос обычно даже не к happy path, а к отказам identity-слоя: что происходит при временной недоступности MAS/OIDC, как ведут себя уже активные сессии, refresh flow и ротация ключей. Кажется, именно здесь потом всплывает большая часть operational complexity в таких сборках. Если будет продолжение, раздел про failure modes и backup/restore этого контура я бы читал в первую очередь.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации