Pull to refresh

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

Идея поднять локальный торрент трекер в сети Билайн (Вымпелком) по Батайску (Ростовская область) появилась после того как пиринг между Ростовом и Батайском закрыли. В Ростове на дону существует другой торрент трекер.
Взял я за основу крайне не оптимизированный движок от 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.

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

Спасибо за внимание.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.