Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ejabberd захватывает 100% CPU #85

Open
GoogleCodeExporter opened this issue Nov 27, 2015 · 22 comments
Open

ejabberd захватывает 100% CPU #85

GoogleCodeExporter opened this issue Nov 27, 2015 · 22 comments

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?
1. запускаем ejabberd
2. запускаем pyvk-t

What is the expected output? What do you see instead?
в результате ejabberd забирает 100% CPU и через 
пару часов дохнет из-за
переполнения стеков.

What version of the product are you using? On what operating system?
сервер vds 1000 Hz, 1000 MB ОЗУ
ejabberd 2.1
pyvk-t r182

Please provide any additional information below.
Временно решил проблему, убрав отправку 
keepalive.

кусок лога:
 *  2009-11-20 15:00:41,645 [INF] sendLoop[sender]: sending keepalive
  *  2009-11-20 15:00:41,645 [DEB] sendLoop[sender]: sending <iq
to="vk.sski.ru" from="vk.sski.ru" id="keepalive"/>
  *  2009-11-20 15:00:51,647 [INF] sendLoop[sender]: sending keepalive
  *  2009-11-20 15:00:51,647 [DEB] sendLoop[sender]: sending <iq
to="vk.sski.ru" from="vk.sski.ru" id="keepalive"/>
  *  2009-11-20 15:00:56,661 [DEB] sendLoop[sender]: sending <message
to="vk.sski.ru" from="vk.sski.ru" id="msg8456"
type="chat"><body>1258718456</body></message>
  *  2009-11-20 15:01:06,662 [INF] sendLoop[sender]: sending keepalive
  *  2009-11-20 15:01:06,662 [DEB] sendLoop[sender]: sending <iq
to="vk.sski.ru" from="vk.sski.ru" id="keepalive"/>
  *  2009-11-20 15:01:16,664 [INF] sendLoop[sender]: sending keepalive
  *  2009-11-20 15:01:16,706 [DEB] sendLoop[sender]: sending <iq
to="vk.sski.ru" from="vk.sski.ru" id="keepalive"/>
  *  2009-11-20 15:01:21,670 [DEB] sendLoop[sender]: sending <message
to="vk.sski.ru" from="vk.sski.ru" id="msg8481"
type="chat"><body>1258718481</body></message>

Original issue reported on code.google.com by [email protected] on 20 Nov 2009 at 3:06

@GoogleCodeExporter
Copy link
Author

Не проблема ли ejabberd это? Jabberd2 летает 
отлично, его роутер всего 4% ест, а c2s
вообще в топе не видно.

Original comment by [email protected] on 20 Nov 2009 at 3:23

@GoogleCodeExporter
Copy link
Author

дело не в транспорте. одно iq и сообщение раз 
в 10 секунд никак не должно давать хоть
какую-то загрузку сервера.

Original comment by Equidamoid on 23 Nov 2009 at 9:56

  • Changed state: Unconfirmed
  • Added labels: Priority-Low
  • Removed labels: Priority-Medium

@GoogleCodeExporter
Copy link
Author

>> дело не в транспорте. одно iq и сообщение 
раз в 10 секунд никак не должно давать
хоть какую-то загрузку сервера.

Но именно после отключения отправки keepalive, 
всё начинает работать.
Я мало знаком с джаббер протоколом, но 
может быть в этом сообщение самому себе 
есть
какое-нибудь несоответствие стандартам?
<iq to="vk.sski.ru" from="vk.sski.ru" id="keepalive"/>

Original comment by [email protected] on 23 Nov 2009 at 10:21

@GoogleCodeExporter
Copy link
Author

ejabberd svn, ветка 2.1.x - с кучей транспортов 
такого не наблюдается. Pyvk-t тоже 
есть, причем с доброй сотней юзеров. Причем 
vds послабее будет.

Original comment by zdevel on 9 Jan 2010 at 10:39

@GoogleCodeExporter
Copy link
Author

обновился с ejabberd 2.1.0 на 2.1.1 проблема более 
не наблюдается

Original comment by [email protected] on 10 Jan 2010 at 7:03

@GoogleCodeExporter
Copy link
Author

у меня на 2.1.2 тоже 100%.. ищу способ исправить 
это

Original comment by [email protected] on 27 Jan 2010 at 7:10

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

Должен на всякий случай переспросить lawcsan: 
у вас ест проц сам ежик или транспорт? 
Во втором случае проблема известная, 
работаем. В первом - надо бы разобраться в 
чем 
дело. 

Original comment by tishka17 on 28 Jan 2010 at 7:35

@GoogleCodeExporter
Copy link
Author

жрёт ёжик.. процес beam

Original comment by [email protected] on 28 Jan 2010 at 12:37

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

обновил  erlang, перекомпилил ejabberd. всё равно 
так же, beam при запуске транспорта
под 100% cpu, а при отключении - сразу же 
исчезает нагрузка.. и в топе его даже не 
видно

Original comment by [email protected] on 28 Jan 2010 at 4:32

@GoogleCodeExporter
Copy link
Author

пора убирать статус "Unconfirmed"

Original comment by [email protected] on 28 Jan 2010 at 6:34

@GoogleCodeExporter
Copy link
Author

итак, я вот какую вещь заметил:
  {5350, ejabberd_service, [
                            {access, local},
                            {hosts, ["vkontakte.localhost"],
                             [{password, "therepassword"}]
                            }            
                           ]},

когда ставим {access, local}, ёжик начинает 
грузить проц на 100%. когда ставим
{access, all}, или вообще комментируем строку - 
грузит 0.2% - 0.3% :)
сейчас пока нормально, тестить буду. думаю 
для себя решение этой проблемы нашёл -
оставлю доступ для всех.

Original comment by [email protected] on 29 Jan 2010 at 5:32

@GoogleCodeExporter
Copy link
Author

Вроде бы {access, local} используется только один 
раз, при подключении транспорта.
Странно, если именно из-за этого.

Original comment by [email protected] on 29 Jan 2010 at 6:25

@GoogleCodeExporter
Copy link
Author

очень странно. но есть какая то 
зависимость. проверь сам, сделай локальный 
доступ.
вдруг тоже будет 100% хавать:)

Original comment by [email protected] on 29 Jan 2010 at 6:52

@GoogleCodeExporter
Copy link
Author

Потверждаю: при наличии опции {access, local} 
после запуска транспорта ejabberd
хавает весь процесс и не отпускает.

Original comment by [email protected] on 29 Jan 2010 at 7:14

@GoogleCodeExporter
Copy link
Author

а в самом начале этой темы, 20 ноября у тебя 
случайно access local не был?

Original comment by [email protected] on 29 Jan 2010 at 8:00

@GoogleCodeExporter
Copy link
Author

Скорее всего было {access, local} 

Original comment by [email protected] on 29 Jan 2010 at 8:21

@GoogleCodeExporter
Copy link
Author

думаю нужно собрать логи трафика между 
транспортом и ежиком. Если со стороны
транспорта ничего странного не будет 
обнаруженно в случае access local, то отправить
баг репорт разработчикам ejabberd

Original comment by [email protected] on 29 Jan 2010 at 8:16

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

нашел возможную причину: транспорт 
обижается, когда ему приходит iq/error.

Original comment by Equidamoid on 30 Jan 2010 at 3:17

@GoogleCodeExporter
Copy link
Author

Возможно это связано с багом 
https://support.process-one.net/browse/EJAB-930 ?

Original comment by mathemonkey on 13 Dec 2010 at 8:05

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant