LINUX.ORG.RU
ФорумAdmin

EJabberD - максимальное кол-во участников - ошибка

 , ,


0

3

Доброго времени суток.

На одном из серверов установлен xmmp (jabber) сервер.
В качестве сервиса используется ejabberd версии 2.1.11
Сервер на основе Ubnutu 14 LTS (так исторически сложилось)
В качестве клиента используется Gajim версии 0.16.9

Сервер отработал несколько лет, и жалоб на него не было. Но недавно стали проявляться некоторые не очень приятные «косяки».

На xmmp-сервисе созданы конференц-комнаты. Комнаты постоянные. В настройках комнат максимальное количество участников 500. Постоянно пользуются не более 10 человек.

Недавно стала возникать ошибка следующего характера:
При подключении к комнате рандомного участника, у пользователя возникает ошибка: «Не получается войти в комнату. Было достигнуто максимальное количество пользователей roomname@conference.domainname.ru».

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

Как это можно вылечить? В какую сторону смотреть?

★★★★★
Ответ на: комментарий от ivanlex

Не занимался администрированием xmmp, но попробую предположить, что каждый новый человек, зашедший в конференцию, автоматически приобретает перманентный статус участника. Если это в самом деле так, то описанное поведение вполне ожидаемо, если в вашу конференцию за время ее существования зашло 500 разных человек.

RyanGosling
()
Ответ на: комментарий от RyanGosling

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

YAR ★★★★★
()
Ответ на: комментарий от YAR

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

RyanGosling
()

Советы профессионала:

  1. Have you tried to switch it off and on again?

  2. Увеличьте ограничения до 1000 участников и забудьте о проблеме ещё на 10 лет.

ugoday ★★★★★
()
Ответ на: комментарий от RyanGosling

Их всего 12 человек. Максимальное количество участников 500. Не вижу логики. Если только каждый раз, когда они заходят - они считаются новыми участниками? Буду искать, где это посмотреть, так как, оказывается - никто не знает.

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

так как, оказывается - никто не знает.

Потому что такого нет. Это _предположение_ о неправильном, нелогичном поведении.

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


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

Так или иначе, ejabberd дефолтно хранит свои данные в Mnesia - возможно, с ней какой-то косяк происходит при определенном числе сессий. Стоит глянуть, не было ли каких-то багфиксов в более поздних версиях ejabberd в этом плане.

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

YAR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.