grotor / pyvk-t

Automatically exported from code.google.com/p/pyvk-t
0 stars 0 forks source link

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

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
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 ivann....@gmail.com on 20 Nov 2009 at 3:06

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

Original comment by mro...@gmail.com on 20 Nov 2009 at 3:23

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

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

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

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

Original comment by ivann....@gmail.com on 23 Nov 2009 at 10:21

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

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

GoogleCodeExporter commented 8 years ago
обновился с ejabberd 2.1.0 на 2.1.1 проблема более 
не наблюдается

Original comment by ivann....@gmail.com on 10 Jan 2010 at 7:03

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

Original comment by lawc...@gmail.com on 27 Jan 2010 at 7:10

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Должен на всякий случай переспросить lawcsan: 
у вас ест проц сам ежик или транспорт? 
Во втором случае проблема известная, 
работаем. В первом - надо бы разобраться в 
чем 
дело. 

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

GoogleCodeExporter commented 8 years ago
жрёт ёжик.. процес beam

Original comment by lawc...@gmail.com on 28 Jan 2010 at 12:37

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
обновил  erlang, перекомпилил ejabberd. всё равно 
так же, beam при запуске транспорта
под 100% cpu, а при отключении - сразу же 
исчезает нагрузка.. и в топе его даже не 
видно

Original comment by lawc...@gmail.com on 28 Jan 2010 at 4:32

GoogleCodeExporter commented 8 years ago
пора убирать статус "Unconfirmed"

Original comment by ivann....@gmail.com on 28 Jan 2010 at 6:34

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

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

Original comment by lawc...@gmail.com on 29 Jan 2010 at 5:32

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

Original comment by ivann....@gmail.com on 29 Jan 2010 at 6:25

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

Original comment by lawc...@gmail.com on 29 Jan 2010 at 6:52

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

Original comment by ivann....@gmail.com on 29 Jan 2010 at 7:14

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

Original comment by lawc...@gmail.com on 29 Jan 2010 at 8:00

GoogleCodeExporter commented 8 years ago
Скорее всего было {access, local} 

Original comment by ivann....@gmail.com on 29 Jan 2010 at 8:21

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

Original comment by ivann....@gmail.com on 29 Jan 2010 at 8:16

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
нашел возможную причину: транспорт 
обижается, когда ему приходит iq/error.

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

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

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