Равномерное распределение трафика по нескольким ссылкам - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB89.7026
BTC/USD68367.8720
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 06.10.2017, 14:01
Start Post: Равномерное распределение трафика по нескольким ссылкам 
  #11
lance
Синьор
 
Аватар для lance
 
Регистрация: 30.05.2008
Сообщений: 975
Бабло: $153121
По умолчанию

Привет гофак!
Хочу написать скрипт для раскидывания трафика 50 на 50 по двум и более ссылкам (т.е. на каждую равномерно). Сколько трафика придет заранее не знаю.

ТДС, трекерами и прочей фигней пользоваться не хочу, поэтому хочу накидать свой скрипт на PHP.

Какое решение придумал: делаю условный переключатель - переменную со значением 1 и 0, которое записывается в файл (можно и БД, но хочу без нее обойтись). Первый уник направляется на ссылку1, переменной присваивается значение 1, второй уник идет уже на ссылку2, поскольку у переменной уже значение 1, после перехода в файл записывается значение 0 и т.д. Таким образом достигаем равномерности распределения.

Вопрос: будет ли это работать на объемах 100k/d? Может есть более изящное решение?
__________________
HTF бот заработает для тебя на трейдинге крипты 0.5-3% в день без риска! Не важно падает рынок или растет. Кнопка бабло тут
lance вне форума  
Старый 08.10.2017, 15:39   #12
gumu
Senior Member
 
Регистрация: 29.01.2015
Сообщений: 487
Бабло: $66505
По умолчанию

Тебе критично именно скрипт на PHP?
В nginx есть модуль для A/B тестирования:
http://nginx.org/ru/docs/http/ngx_ht...ts_module.html
gumu вне форума  
Старый 08.10.2017, 16:07   #13
Moonlight Cat
Senior Member
 
Аватар для Moonlight Cat
 
Регистрация: 10.09.2012
Сообщений: 1,217
Бабло: $211845
По умолчанию

Цитата:
Сообщение от lance Посмотреть сообщение
Надо конечно у математиков спросить, но мне кажется, что расхождение больше будет.
Я не математик, но чем больше трафика - тем меньше и меньше будут расхождения. Это основа Теории Вероятностей.
Moonlight Cat вне форума  
Старый 08.10.2017, 20:36   #14
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,883
Бабло: $1863525
По умолчанию

number4,
PHP код:
$a = array(0,0,0,0,0,0,0,0,0,0);
for (
$i=0$i<999999$i++)
    {
$a[mt_rand(0,9)]++;}

print_r($a); 
Код:
Array
(
    [0] => 100015
    [1] => 99874
    [2] => 99870
    [3] => 99966
    [4] => 100111
    [5] => 100214
    [6] => 99955
    [7] => 100180
    [8] => 99720
    [9] => 100094
)
веломан вне форума  
Старый 08.10.2017, 20:44   #15
alter13
Отмороженый Сибиряк
 
Аватар для alter13
 
Регистрация: 09.09.2014
Сообщений: 1,843
Бабло: $250100
По умолчанию

на две
PHP код:
<?php
$random 
rand(1,2);
if (
$random == 1){
    
header'Location: http://site1.com'true301 );
} else{
    
header'Location: http://site2.com'true301 );
}
?>
на три
PHP код:
<?php
$random 
rand(1,3);
if (
$random == 1){
    
header'Location: http://site1.com/'true301 );
}
else{
    if (
$random == 2){
    
header'Location: http://site2.com'true301 );
}
else{
    
header'Location: http://site3.com'true301 );
}
}
?>
хз может и проще есть аврианты но мне на пьяну гоолву больше ниче не лезе
рандом нормально пашет, примрно полпалецпотолок
__________________
Знать путь и пройти его — не одно и то же. Pharmcash & PharmcashUSA - знаем, проходили... Лидеры в фарме
alter13 вне форума  
Старый 08.10.2017, 20:55   #16
number4
Senior Member
 
Регистрация: 23.04.2017
Адрес: Pattaya
Сообщений: 132
Бабло: $20600
По умолчанию

Цитата:
Сообщение от AntonIon Посмотреть сообщение
shuffle() же rand() использует. Только srand() на него не влияет. А по сути, это обычный rand().
да, это так, но почему-то равномерность у shuffle() в расчете на неопределенное кол-во итераций, в итоге лучше, чем просто у mt_rand()

Цитата:
Сообщение от веломан Посмотреть сообщение
number4,
PHP код:
$a = array(0,0,0,0,0,0,0,0,0,0);
for (
$i=0$i<999999$i++)
    {
$a[mt_rand(0,9)]++;}

print_r($a); 
Код:
Array
(
    [0] => 100015
    [1] => 99874
    [2] => 99870
    [3] => 99966
    [4] => 100111
    [5] => 100214
    [6] => 99955
    [7] => 100180
    [8] => 99720
    [9] => 100094
)
по-сути тот же shuffle() только вид сбоку.
и это единичный запуск.
я при моделировании еще запускал в цикле цикл с 10к итераций рандома
и смотрел какие средние отклонения при каждом прогоне на 10к
тогда вот и видно, что в одном цикле на 10к rand() выдает вроде нормальные отклонения от среднего, а в следующем цикле уже up to 30% в некоторых итерациях. То есть не так равномерно стабильно, как ожидается.
number4 вне форума  
Старый 08.10.2017, 21:58   #17
lance
Синьор
 
Аватар для lance
 
Регистрация: 30.05.2008
Сообщений: 975
Бабло: $153121
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от gumu Посмотреть сообщение
Тебе критично именно скрипт на PHP?
В nginx есть модуль для A/B тестирования:
http://nginx.org/ru/docs/http/ngx_ht...ts_module.html
Nginx плохо знаю, спасибо за наводку.
__________________
HTF бот заработает для тебя на трейдинге крипты 0.5-3% в день без риска! Не важно падает рынок или растет. Кнопка бабло тут
lance вне форума  
Старый 08.10.2017, 22:36   #18
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,883
Бабло: $1863525
По умолчанию

Цитата:
Сообщение от number4 Посмотреть сообщение
по-сути тот же shuffle() только вид сбоку.
и это единичный запуск.
я при моделировании еще запускал в цикле цикл с 10к итераций рандома
и смотрел какие средние отклонения при каждом прогоне на 10к
тогда вот и видно, что в одном цикле на 10к rand() выдает вроде нормальные отклонения от среднего, а в следующем цикле уже up to 30% в некоторых итерациях. То есть не так равномерно стабильно, как ожидается.
из 20 запусков он ни разу не показал 98xxx или 101xx
я не знаю, зачем может понадобиться точность выше подобной, но например через редиску можно вытащить хоть 0-разность
а описанный тобой доп.цикл в подобных системах отсутствует вовсе
в общем, не видно тут проблемы.
веломан вне форума  
Старый 10.10.2017, 17:51   #19
element.4seo
Member
 
Регистрация: 12.08.2015
Сообщений: 32
Бабло: $5320
По умолчанию

держи

PHP код:
<?php
$urls 
= array("domain1.com",
              
"domain2.com",
              
"domain3.com",
              
"domain4.com",
              
"domain5.com");
$url $urls[array_rand($urls)];
header("Location: http://$url");
echo 
"Loading...please wait";
?>
element.4seo вне форума  
Старый 10.10.2017, 23:28   #20
Dolli
Ебланнед
 
Регистрация: 04.02.2016
Сообщений: 54
Бабло: $15500
По умолчанию

Не понимаю, чем ТДС не подходит? Моментально раскидает траф по схеме. Например Sutra TDS норм. держит до 13-15 млн. трафика в сутки. Бесплатная zTDS держит не меньше на ВПС за 500 руб. в мес. Как и Sutra на таком-же примерно железе. Про другие не скажу - не тестировались.
__________________
Продаю трафик по $0,5 за кило. ГЕО - весь мир.
Делаю сайты оптом - по 1 руб. за сайт при заказе от 20 тыс. штук.
Dolli вне форума