Какие трудности могут произойти при поднятии торрент трекера?

5 Мар
2012

Идея поднять локальный торрент трекер в сети Билайн (Вымпелком) по Батайску (Ростовская область) появилась после того как пиринг между Ростовом и Батайском закрыли. В Ростове на дону существует другой торрент трекер.
Взял я за основу крайне не оптимизированный движок от TBDev Yuna Scatari Editon.

Первая проблема на пути установки была регистрация, из-за кривизны то ли рук толе таблиц я как администратор смог зарегистрироваться только раза с 15.

Вторая проблема которая которая возникла на моем пути: то что торренты не могут заливать обычные пользователи для заливки торрентов надо иметь статус! аплоадера, покопавшись в коде движка я это исправил.

Третья проблема: говнокод:
<?
$num=0+$_GET['num'];
?>


— данный код простой пример раскрытия путей, по мне так проще фильтровать числовые данные либо

<?
if(is_numeric($_GET['num'])){ echo'что то там';}else{ echo'что то вы мутите';}
?>

либо

<?
if(intval($_GET['num'])!="0"){echo'что то там';}else{echo'ошибка при условии что в команде явно не может быть задействован 0';}
?>


Четвертая проблема: явное не желание фильтровать строковые входные данные в большинстве случаев;

Проблема пятая: обилие mysql запросов: по ~22 не каким образом не кешированных запроса на странице (без учета поиска и.т.п) Систему кеширования допиливал сам.

Шестая проблема: Билайн в силу своей политики не желает предоставлять бесплатую выделенную локальную линию, приходится ипользовать неуправляймый свитч для распределения трафика IP-TV/Роутер/Сервер.
Вообщем проблем с самим движком была еще целая куча.

Поднималось все изначально на Windows 7 (32bit) + Vertrigo server, и при ~20 онлайн все крайне сильно глючило.
Потом мы переехали на систему виртулизации Xen Citrix + debian на виртуалках.
Используется «система распределения нагрузки» 1 виртуальная OS nginx+apache+php, 2 виртульная OS mysql+apache+php+phpmyadmin, для управления всем используется бесплатная панель управления webmin отлично себя зарекомендовавшая.

Плюс к этой системе была еще раз переписана система кеширования после прочтения статьи на Блоге про демонов на php, обновления кеша выполняется вне зависимости посетил пользователь страницу или нет. И теперь нет проблемы что 1 «несчастный» пользователь обновляет кеш всем остальным. Некоторые запросы: к примеру вытащить информацию о балансе пользователей (подписанных на эту услугу) с серверов билайна, иногда исполняются крайне долго, и пользователю не приходится ждать открытия главной по нескольку десятков секунд.

На этом крупная оптимизация заканчивается.

Для удобства пользователей была прикручена система авторизация через сервисы Вконтакте и Mail.ru работающая через промежуточный внешний сервер (сервер трекера не имеет доступ к интернету).

Для них-же была разработана система чата commfort+webchat работающая в связке. Кстати готовится к релизу Icq чат работающий в связке commfort+webchat+icq.

Вроде все если будут вопросы жду в коментах.

Спасибо за внимание.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх