ejabberd при большой нагрузке (и ещё http-poll)

Имеется сайт, на котором чат сделан через http-poll. Два ejabberd объединены в кластер. Проблема заключается в том, что кластер не держит более 600 юзеров -- при приближении к этому пределу на каждом сервере отъедается по 3.5 Гб памяти и load average подскакивает до 4.

Сейчас ejabberd запускается с такими параметрами:

-env ERL_MAX_PORTS=5000 -env ERL_MAX_ETS_TABLES=200000 +P 2500000 -shared +K true -mnesia auto_repair true

Что ещё можно подкрутить?

Ещё одна деталь: каждый сервер работает в виртуальной машине OpenVZ, может ли это отрицательно влиять на работу ejabberd?

загляни,

загляни, возможно что-то забыл?

не помогает

K0NCTANT1N wrote:

загляни, возможно что-то забыл?

Ну ERL_MAX_PORTS=32000 у меня по умолчанию было, а ERL_FULLSWEEP_AFTER=0 не помогает :(

На самом деле, я ещё не упомянул кое-что: все юзеры ломятся в одну комнату, в краш-репорте указано что "Cannot allocate memory". То есть всё упирается в потребление памяти. Почему ejabberd её так сильно жрёт?

Syndicate content