лаги eggdrop

Все вопросы связанные с IRC

Модераторы: Art.i, vasya

лаги eggdrop

Сообщение Alvor » Пт сен 05, 2008 12:18 pm

Здравствуйте. Такая вот неясная проблема - был запущен еггдроп, несколько скриптов +модули +викторина. Все бы хорошо, но время между верным ответом пользователя и сообщении о его верном ответе составляет в среднем 2 секунды, при этом бот постоянно кушает проц (top) от 2 до 30%.
Подумал, что много всего навешано, и скомпилил отдельного бота для викторины. Повесил на него только скрипт самой викторины и все. Запустил, все ок. Импортнул юзерфайл (примерно 200 юзеров) - тормоза и кушание процессора вернулись. При этом чтение из файлов модулей stats и seen также подтормаживают, но все равно работают в 2 раза быстрее.
По поводу самого скрипта викторины - включаем в консоли raw трафик:
Код: выделить все
[12:15:47] <)Victor> [12:15] [@] Alvor!alvor@ircnet-22503.alvor.ru PRIVMSG #victorina :ностальгия
[12:15:49] <)Victor> [12:15] [!s] PRIVMSG #victorina :Молодец, Alvor!  Правильный ответ -> "ностальгия" <-, был дан за 35.26 секунд, и принёс тебе 2 очка.

Видно что что-то там бот обрабатывает, после консультации с автором скрипта - тормозит на обработке юзерфайл, в частности тормозит на сортировке (правда, точно не помню). Отлаживаем:
VDS:
.tcl time {::tpub::users list} 100
Tcl: 239716.47 microseconds per iteration
.tcl time {::tpub::users get NetJ} 100
Tcl: 114.74 microseconds per iteration

Сервак на работе:
.tcl time {::tpub::users list} 100
Tcl: 18436.96 microseconds per iteration
.tcl time {::tpub::users get NetJ} 100
Tcl: 10.42 microseconds per iteration

процедура get например всего лишь делает пару проверок на канале и кусок кода return [getuser $text xtra quiz], процедура list к тому же еще и сортирует полученные данные. Разница при работе с файлом не просто очевидна, а огромна.
Перешел на VDS-разгон, отличий не заметил. Проц по-прежнему кушается непрерывно, память свободная есть. Помогите объяснить, от чего же такие тормоза? Возможно, есть команды "трассировки" процесса, аналогично filemon под винду?
ЗЫ: на рабочем серваке повесить нет возможности.
Alvor
 
Сообщений: 12
Зарегистрирован: Вт фев 20, 2007 11:28 am
Откуда: Орел

Вернуться в IRC

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2