18.10.2010, 18:55 | #1 |
Новичок
Не работает VBTT (тяжелый случай)
Прошу знающих найти решение моей проблемы:
При попытке залить большой торрент-файл (в районе 500Кб и более), или же торрент-файл, содержащий раздачу большого объема (например, от 10 Гб и более) выдается ошибка от nginx (после минутного ожидания): Далее при попытке обновить страницу, я уже наблюдаю данное вложение как залитое, жму "Ответить" и вся инфа в threadbit оформляется соответствующим образом, с указанием полного списка файла, их объема и т.д. Но при попытке скачать такой торрент-файл снова идут минутные тормоза и ошибка "The page you are looking for is temporarily unavailable. Please try again later." Подозреваю, что ошибка в настройках php, но не исключаю и участия в этом самого трекера. Перепробовал выставлять различные значения таймаутов на стороне nginx, mysql, php, увеличивал memory_limit - безрезультатно. Может, кто-нибудь уже сталкивался с подобным и сможет конкретно направить ход моих мыслей в нужную сторону? =) Заранее спасибо. Версии: VBTT: VBulletin Torrent Tracker (VBTT) 3 XBT 1.2 SVN PHP 5.2.12 with Suhosin-Patch 0.9.7 Mysql: 5.0.9 Тип хранения вложений vbulletin: ФС ps. php работает в режиме php-cgi, т.е. в виде демона. апача на сервере нету. Последний раз редактировалось go_blin; 18.10.2010 в 19:02. |
|
18.10.2010, 21:58 | #2 |
Администратор
go_blin, смотрите ошибки PHP. Скорее всего проблемы с лимитами или на память или на размер загружаемых файлов. Могу предположить что список файлов в таких проблемные торренты состоит из очень большого количества файлов.
Проблема в том что бенкодер (битторент енкодер) разворачивает торрент при загрузке в очень громоздкий объект, как следствие значительный расход памяти. Или же это проблема именно этой версии. Но все равно стоит посмотреть логи ошибок php. |
|
19.10.2010, 16:48 | #3 |
Новичок
Благодарен за ответ!
Включал логирование ошибок на уровне php - в логах пусто. Что сделал: увеличил разнообразные лимиты обработки, таймаутов php. Повысил параметр memory_limit в 2 раза (512 mb). На стороне веб-сервера выставил так же нереальные таймауты разного назначения. Итог: файл "раскрылся" и оказался на трекере спустя 1:20 м. При этом сам сервер жутко колбасило, нагрузка резко возрастает и фактически замораживала функцию веб-сервера. Нагрузка до момента загрузки большого торрент файла 0.3 0.2 0, нагрузка в момем обработки 1-го торрент файла 3 2.5 2 Неужели такое происходит у каждого, кто использует vbulletin + vbtt ? Может быть взять bencode-р из другой версии/продукта/скрипта ? Сегодня обнаружил реализацию этого "кодера" на разных языках (линк), сразу же появилась мысль использовать C-шный вариант, вместо php, но это наверное мечты. Как быть в моей ситуации, неужели все пользователи vbtt сталкиваются с таким долгим и ресурсоемким процессом раскодирования и ничего с этим не поделать? |
|
20.10.2010, 14:51 | #4 |
Администратор
Этим все сказано. Разработчик этого вбтт неплохо разбирается в с++ (скорее всего, т.к. самостоятельно залатал несколько дыр в оригинальном xbtt), но совсем не разбирается в пхп и в api булки. Если мне не изменяет память, то при загрузке торрента в этой версии там идет один запрос на добавление в таблицу файлов на каждый файл. Поэтому если файлов в торренте порядка 1-2К, то сразу становится понятно почему сервак колбасило :))) |
|