TBDev SZ vs. TBDev YSE

Правила форума
При возникновении вопросов, связанных с работой движка вы должны предоставить ссылку на свой сайт с установленным движком (или вписать адрес трекера в свой профиль), в случае, если на вашем сайте не будет копирайтов (внизу каждой страницы), то в помощи вам будет отказано, а ваш аккаунт будет отключен.
Все сообщения должны быть написаны на русском языке. Язык "падонкаф" русским языком не считается.
Все сообщения, написанные не на русском языке будут удаляться, а их автор будет получать предупреждения.

TBDev SZ vs. TBDev YSE

Сообщение Nafania » 24 окт 2007, 13:22

Yuna, разработчик движка TBDev YSE решил провести сравнение быстродействия своего движка и моего у себя на форуме.
Непонятно как он тестировал, поэтому я решил провести полные нормальные тесты.
Результаты говорят сами за себя ;)

Итак, в тестировании участвовали мой движок и движок Юны.

Методика тестирования весьма проста.
Мой движок работает с полной своей базой.
Движок Юны работает только с некоторыми основными таблицами.
Объем таблиц абсолютно одинаков, то есть я просто-напросто написал конвертер и вытащил данные из базы моего движка и запихнул и в базу движка Юны.
Список таблиц:
users, categories, torrents, snatched, peers, comments, thanks, indexreleases

Как мы видим, первые 5 таблиц (кроме categories) нам нужны для правильной работы с анносером. Остальные таблицы я взял для тестирования основных страниц трекера.
Напоминаю вам, что мой движок содержит на порядок больше полных таблиц, а движок Юны лишь эти и то, что было в базовой поставке.

Главная страница (index.php)
Мой движок - Время : 0.071s | 9 SQL-запросов
Движок Юны - Page generated in 0.177226 seconds with 31 queries
Скриншоты - Изображение Изображение
Комментарий - ой как замечательно, практически в два с половиной раза меньше время, а запросов то аж в 3 раза меньше. Наверное Юна бросил все силы экономии на анносер, а здесь расщедрился и дергает базу? Посмотрим дальше.

Обзор (browse.php)
Мой движок - Время : 0.063s | 11 SQL-запросов
Движок Юны - Page generated in 0.127398 seconds with 15 queries
Скриншоты - Изображение Изображение
Комментарий - И снова времени в два раза больше и запросов поболе будет.

Детали торрента (details.php)
Мой движок - Время : 0.117s | 15 SQL-запросов
Движок Юны - Page generated in 0.113067 seconds with 17 queries
Скриншоты - Изображение Изображение
Комментарий - Здесь Юна постарался. Сильно не проигрывает.

Детали пользователя (userdetails.php)
Мой движок - Время : 0.079s | 16 SQL-запросов
Движок Юны - Page generated in 0.176327 seconds with 20 queries
Скриншоты - Изображение Изображение
Комментарии - и опять время генерации страницы больше в 2 раза.



Итак, я рассмотрел 4 самых популярных страницы трекера. Как мы видим - ни на одной движок Юны не выигрывает. Лишь одной странице он более-менее подобрался к результатам моего движка.

Yuna писал(а):А то что в аннонсере ты отстаешь - это факт!

Да ну?

Итак, вот мои данные.
Вот простенький скрипт эмулирующий запрос к анносеру и получающий от него данные.
Код: Выделить всё
<?php

$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];

function get_content($host, $get, $do_gzip = false) {

   $filePointer = @fsockopen($host, 80, $errorNumber, $errorString);
   if (!$filePointer)
   {
      exit('Failed opening http socket connection: '.$errorString.' ('.$errorNumber.')<br/>\n');
   }

   $requestHeader = "GET " . $get . "  HTTP/1.1\r\n";
   $requestHeader.= "User-Agent: Azureus 3.0.0.6;Windows XP;Java 1.5.0_06\r\n";
   $requestHeader.= "Connection: close\r\n";
   $requestHeader.= ( $do_gzip ? "Accept-Encoding: gzip\r\n" : '' );
   $requestHeader.= "Host: ".$host."\r\n";
   $requestHeader.= "Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\r\n";
   $requestHeader.= "Content-type: application/x-www-form-urlencoded\r\n\r\n";

   fwrite($filePointer, $requestHeader);

   $responseHeader = '';
   $responseContent = '';

   do {
      $responseHeader.= fread($filePointer, 1);
   }
   while ( !preg_match('/\\r\\n\\r\\n$/', $responseHeader) );

   if (!strstr($responseHeader, "Transfer-Encoding: chunked")) {
      while (!feof($filePointer)) {
         $responseContent.= fgets($filePointer, 128);
      }
   }
   else {
      while ($chunk_length = hexdec(fgets($filePointer))) {
         $responseContentChunk = '';
              $read_length = 0;
              while ($read_length < $chunk_length) {
                      $responseContentChunk .= fread($filePointer, $chunk_length - $read_length);
                   $read_length = strlen($responseContentChunk);
            }

              $responseContent.= $responseContentChunk;
              fgets($filePointer);
       }

   }
   return $responseContent;
}

$url = 'streamzone';
$ann_path = '/tracker/announce.php?';
$options = array(
         'passkey' => 'а_вот_и_фиг',
         'info_hash' => 'тут_хеш_торрента',
         'peer_id' => '-AZ3006-5dmPcUOYGnrx',
         'port' => 62742,
         'uploaded' => 0,
         'downloaded' => 0,
         'left' => 1466483812,
         'numwant' => 50,
         //'no_peer_id' => 1,
         //'compact' => 1
);

$get = '';
foreach ( $options AS $opt_name => $opt_value ) {
      $get .= '&' . $opt_name . '=' . $opt_value;
}
$content = get_content($url, $ann_path . $get, false);
echo $content;

$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
echo '<br />Time elapsed ' . $totaltime . ' seconds';
?>


В скрипте возможно выставить режим работы no_peer_id и compact для анносера, расскоментив строки
Код: Выделить всё
         //'no_peer_id' => 1,
         //'compact' => 1

Также можно включить gzip если в строке
Код: Выделить всё
$content = get_content($url, $ann_path . $get, false);

false заменить на true

А теперь собственно тесты.

Аннонсер

no_peer_id = 0, compact = 0, gzip = false, numwant = 50;

TBDev SZ
Код: Выделить всё
Time elapsed 0.01883602142334 seconds
Time elapsed 0.028856039047241 seconds
Time elapsed 0.028103113174438 seconds
Time elapsed 0.01825213432312 seconds
Time elapsed 0.028916120529175 seconds


Yuna
Код: Выделить всё
Time elapsed 0.032582998275757 seconds
Time elapsed 0.041810035705566 seconds
Time elapsed 0.051044940948486 seconds
А тут после частых рефрешов анноснер Юны отвалился "d14:failure reason46:There is a minimum announce time of 10 secondse"
Time elapsed 0.039895057678223 seconds
Time elapsed 0.041121959686279 seconds


Ха. Где эти хваленые 9 тысячных на моем домашнем двухядернике?
Не смешите мои подковы.

Увеличиваем numwant до 200
TBDev SZ
Код: Выделить всё
Time elapsed 0.034466028213501 seconds
Time elapsed 0.032328128814697 seconds
Time elapsed 0.022014141082764 seconds
Time elapsed 0.022618055343628 seconds
Time elapsed 0.031672954559326 seconds


Yuna
Код: Выделить всё
Time elapsed 0.044363975524902 seconds
Time elapsed 0.051099061965942 seconds
Time elapsed 0.052750110626221 seconds
Time elapsed 0.055839061737061 seconds
Time elapsed 0.043964147567749 seconds


no_peer_id = 1, compact = 1, gzip = true, numwant = 200;
TBDev SZ
Код: Выделить всё
Time elapsed 0.023077011108398 seconds
Time elapsed 0.033427000045776 seconds
Time elapsed 0.03200101852417 seconds
Time elapsed 0.032360076904297 seconds
Time elapsed 0.033028125762939 seconds


Yuna
Код: Выделить всё
Time elapsed 0.052780151367188 seconds
Time elapsed 0.042879104614258 seconds
Time elapsed 0.052810907363892 seconds
Time elapsed 0.052739143371582 seconds
Time elapsed 0.044113159179688 seconds


На 5k пиров у меня нет торрентов в базе, но если ты попросишь, то я специально сделаю, только вот боюсь результаты тебя очень расстроят.



Тестим scrape
запрос данных по одному торренту

gzip = false;
TBDev SZ
Код: Выделить всё
Time elapsed 0.022093057632446 seconds
Time elapsed 0.015882968902588 seconds
Time elapsed 0.022480010986328 seconds
Time elapsed 0.022791147232056 seconds
Time elapsed 0.022273063659668 seconds


Yuna
Код: Выделить всё
Time elapsed 0.017014980316162 seconds
Time elapsed 0.017503976821899 seconds
Time elapsed 0.0076010227203369 seconds
Time elapsed 0.019254207611084 seconds
Time elapsed 0.016891956329346 seconds


gzip = true;
TBDev SZ
Код: Выделить всё
Time elapsed 0.014887094497681 seconds
Time elapsed 0.023932933807373 seconds
Time elapsed 0.023442983627319 seconds
Time elapsed 0.02347993850708 seconds
Time elapsed 0.023864030838013 seconds


Yuna
Код: Выделить всё
Time elapsed 0.018429040908813 seconds
Time elapsed 0.0074069499969482 seconds
Time elapsed 0.017631053924561 seconds
Time elapsed 0.0071849822998047 seconds
Time elapsed 0.018033027648926 seconds


Скрейп, выдача данных для 50 торрентов
gzip = true;

TBDev SZ
Код: Выделить всё
Time elapsed 0.026051998138428 seconds
Time elapsed 0.025304079055786 seconds
Time elapsed 0.016488075256348 seconds
Time elapsed 0.025689125061035 seconds
Time elapsed 0.02673602104187 seconds


Yuna
Опа, а движок Юны мультискрейп-то и не поддерживает.
Ой как его наверное жаба и мюторрент долбят по скрейпу для каждого торрента

gzip = false;
TBDev SZ
Код: Выделить всё
Time elapsed 0.016211032867432 seconds
Time elapsed 0.025017023086548 seconds
Time elapsed 0.024796962738037 seconds
Time elapsed 0.01518702507019 seconds
Time elapsed 0.024630069732666 seconds


Yuna
Опа, а движок Юны мультискрейп-то и не поддерживает.
Ой как его наверное жаба и мюторрент долбят по скрейпу для каждого торрента.

Далее в списке тест клинапа.
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: TBDev SZ vs. TBDev YSE

Сообщение Azrr » 20 ноя 2007, 10:07

Nafania, ты писал, что для тестов
я просто-напросто написал конвертер и вытащил данные из базы моего движка и запихнул и в базу движка Юны


Можно ли это произвести в обратном порядке? Т.е. как можно "безболезненно" перейти на твой движок с движка Юны?
Azrr
 
Сообщения: 2
Зарегистрирован: 20 ноя 2007, 09:53

Re: TBDev SZ vs. TBDev YSE

Сообщение Nafania » 20 ноя 2007, 11:42

Azrr писал(а):Nafania, ты писал, что для тестов
я просто-напросто написал конвертер и вытащил данные из базы моего движка и запихнул и в базу движка Юны


Можно ли это произвести в обратном порядке? Т.е. как можно "безболезненно" перейти на твой движок с движка Юны?

Таблицы трекера, я думаю, можно сконвертировать без проблем, а вот насчет форума я не знаю.
Есть только одна маленькая проблемка.
Это конвертирование очень ресурсоемкий процесс, у меня на домашнем двухядернике с 2мя гигами оперативки процесс занимал примерно 3 минуты, и при этом я выставлял
Код: Выделить всё
ini_set('memory_limit', '1024M');

И это, надо еще учитывать, что я конвертировал далеко не все таблицы.

Сервак такой конвертер тупо повесит насмерть.
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: TBDev SZ vs. TBDev YSE

Сообщение StirolXXX » 20 ноя 2007, 11:52

Нафаня, незнаю почему у тебя так долго это происходило, но я для переноса баз использую запросы по типу:

INSERT INTO tbdevsz.users (uid, username, итд) SELECT id, username, итд. FROM tbdevyse.users;

И так несколько запросов, самый долгий процесс идет с таблицой iplog (в движке по умолчанию ее нету).
У меня это все на локальном компе (Celeron M 1.86, 1024MB) все занимает не больше 5 секунд.

Может потому-что ты используешь скрипт а не прямые запросы в базу?
StirolXXX
 
Сообщения: 80
Зарегистрирован: 30 июн 2007, 20:30

Re: TBDev SZ vs. TBDev YSE

Сообщение Nafania » 20 ноя 2007, 12:03

StirolXXX писал(а):Нафаня, незнаю почему у тебя так долго это происходило, но я для переноса баз использую запросы по типу:

INSERT INTO tbdevsz.users (uid, username, итд) SELECT id, username, итд. FROM tbdevyse.users;

И так несколько запросов, самый долгий процесс идет с таблицой iplog (в движке по умолчанию ее нету).
У меня это все на локальном компе (Celeron M 1.86, 1024MB) все занимает не больше 5 секунд.

Может потому-что ты используешь скрипт а не прямые запросы в базу?

Ну естественно скрипт. Часть данных надо обрабатывать и особым образом конвертировать, сразу вставлять нельзя.
Из-за этого получаются огромные массивы.
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: TBDev SZ vs. TBDev YSE

Сообщение StirolXXX » 20 ноя 2007, 16:05

А какие данные ты конвертировал кроме (ИМХО, я так думаю):

1. Групп пользователей
2. Постов форума

Форматы даты я-бы конвертировал в запросе, незнаю как ты делал.
StirolXXX
 
Сообщения: 80
Зарегистрирован: 30 июн 2007, 20:30

Re: TBDev SZ vs. TBDev YSE

Сообщение Nafania » 20 ноя 2007, 16:17

StirolXXX писал(а):А какие данные ты конвертировал кроме (ИМХО, я так думаю):

1. Групп пользователей
2. Постов форума

Форматы даты я-бы конвертировал в запросе, незнаю как ты делал.


Объем таблиц абсолютно одинаков, то есть я просто-напросто написал конвертер и вытащил данные из базы моего движка и запихнул и в базу движка Юны.
Список таблиц:
users, categories, torrents, snatched, peers, comments, thanks, indexreleases
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: TBDev SZ vs. TBDev YSE

Сообщение Azrr » 12 дек 2007, 04:20

Nafania, ответь пожалуйста на ЛС, очень нужна твоя помощь!
Azrr
 
Сообщения: 2
Зарегистрирован: 20 ноя 2007, 09:53

Re: TBDev SZ vs. TBDev YSE

Сообщение AleShu » 15 янв 2008, 03:22

Nafania, так может напишешь и выложешь скрипт перехода от Юновского движка к твоему!! Тебе же это и на пользу))) :D
AleShu
 
Сообщения: 1
Зарегистрирован: 06 янв 2008, 23:18

Re: TBDev SZ vs. TBDev YSE

Сообщение nizhnyk » 15 янв 2008, 06:26

AleShu писал(а):Nafania, так может напишешь и выложешь скрипт перехода от Юновского движка к твоему!! Тебе же это и на пользу))) :D

Я за :D
nizhnyk
 
Сообщения: 1
Зарегистрирован: 13 янв 2008, 08:08
Адрес трекера: http://kinostar.us/

Re: TBDev SZ vs. TBDev YSE

Сообщение Heretic » 04 фев 2008, 15:19

Базару нет :) я пока-что двиг не юзал но почитал не мало мни покачто понравился.
Блин я думаю что скрипт нужен, я скорее всего перейду с юновского на ентот двиг если конвертер будет
Heretic
 
Сообщения: 1
Зарегистрирован: 04 фев 2008, 14:31

Re: TBDev SZ vs. TBDev YSE

Сообщение Janik » 14 фев 2008, 05:00

тоже с удовольствием перейду, т.к. я Юной нормально не пообщаешься.. одини нах.. пох.. бл.. и т.д.
Мы ждем конвектор!!! :)
Очень сильно жду конвектор TBDev YSE :( --> TBDev SZ :)
Janik
 
Сообщения: 1
Зарегистрирован: 13 фев 2008, 22:29

Re: TBDev SZ vs. TBDev YSE

Сообщение alinyonok » 15 фев 2008, 11:28

Janik писал(а):тоже с удовольствием перейду, т.к. я Юной нормально не пообщаешься.. одини нах.. пох.. бл.. и т.д.
Мы ждем конвектор!!! :)

+1
Хочу добавить, что чувак просто зазнался, что его движок народ юзает. А главное постоянно видит только где бы что урвать, то на сервак, то ноутбук и т.д. Хотя наверное непонимает, что все делают доброе дело для пользователей локалок и нета, совершенно бесплатно и без выгоды для себя (Владельцев). Респект тебе Nafania за создание такого движка. Я сдесь человек новый (случайно нашел форум), но хотелось тоже присоединиться к уважительным отношениям к таким кто плохо знает PHP и просит помощи, и хорошо что сдесь не отказывают, и не посылают "На небо за звёздочкой", учить PHP и т.д.
alinyonok
 
Сообщения: 6
Зарегистрирован: 15 фев 2008, 10:31
Откуда: Москва
Адрес трекера: Пока собираю

Re: TBDev SZ vs. TBDev YSE

Сообщение vadkuz » 17 фев 2008, 03:33

хорошая вешь, только по дефолту пора переходить на utf8
vadkuz
 
Сообщения: 3
Зарегистрирован: 08 дек 2007, 00:29

Re: TBDev SZ vs. TBDev YSE

Сообщение NycuDR » 23 фев 2008, 12:14

Мне очень нравится твой уплоад можна его както выдернуть и поставить на обычный ТБДев ? Я проста хочу зделать простой тбдев с Хорошым Уплоад-ом ?


Сорри за руский я с транслита на транслит.ру перевожу бо рускую клаву не знаю
NycuDR
 
Сообщения: 86
Зарегистрирован: 29 янв 2008, 00:45
Адрес трекера: http://xbitlord.co.cc/

Re: TBDev SZ vs. TBDev YSE

Сообщение DyaWaLL » 06 окт 2008, 19:49

DyaWaLL
 
Сообщения: 3
Зарегистрирован: 06 окт 2008, 19:30

Re: TBDev SZ vs. TBDev YSE

Сообщение Boec » 19 окт 2008, 23:10

DyaWaLL писал(а):Где скачать тему http://img155.imageshack.us/my.php?image=naf1ks2.png

Она идет стандартно с движком
Boec
 
Сообщения: 77
Зарегистрирован: 29 янв 2008, 23:30

Re: TBDev SZ vs. TBDev YSE

Сообщение Boec » 20 окт 2008, 16:38

Как не пытался оптимизировать движок так и не получилось....
Время : 2.134s | 19 SQL-запросов | Gzip : Выкл. | Загрузка : 3 | Использование памяти: 783.34 КБ
Можете подсказать как правельно это деалть?
Boec
 
Сообщения: 77
Зарегистрирован: 29 янв 2008, 23:30

Re: TBDev SZ vs. TBDev YSE

Сообщение Nafania » 20 окт 2008, 16:54

У вас на винде стоит трекер. Отключите проверку текущей загрузки и да будет вам счастье.
Аватара пользователя
Nafania
Администратор
 
Сообщения: 1207
Зарегистрирован: 30 июн 2007, 16:10

Re: TBDev SZ vs. TBDev YSE

Сообщение Boec » 20 окт 2008, 17:03

А можете подсказать где?
Boec
 
Сообщения: 77
Зарегистрирован: 29 янв 2008, 23:30

След.

Вернуться в Движок

Кто сейчас на конференции

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