Идея поднять локальный торрент трекер в сети Билайн (Вымпелком) по Батайску (Ростовская область) появилась после того как пиринг между Ростовом и Батайском закрыли. В Ростове на дону существует другой торрент трекер.
Взял я за основу крайне не оптимизированный движок от TBDev Yuna Scatari Editon.
Первая проблема на пути установки была регистрация, из-за кривизны то ли рук толе таблиц я как администратор смог зарегистрироваться только раза с 15.
Вторая проблема которая которая возникла на моем пути: то что торренты не могут заливать обычные пользователи для заливки торрентов надо иметь статус! аплоадера, покопавшись в коде движка я это исправил.
Третья проблема: говнокод:
— данный код простой пример раскрытия путей, по мне так проще фильтровать числовые данные либо
либо
Четвертая проблема: явное не желание фильтровать строковые входные данные в большинстве случаев;
Проблема пятая: обилие 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.
Вроде все если будут вопросы жду в коментах.
Спасибо за внимание.
Взял я за основу крайне не оптимизированный движок от 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.
Вроде все если будут вопросы жду в коментах.
Спасибо за внимание.