Как прикинуть предельные возможножности программы

chang

Постоялец
Регистрация
20 Ноя 2009
Сообщения
363
Реакции
118
Здравствуйте

суть такова:
необходимо автоматизировать одну монотонную работу на сайте, для чего и пишется "бот"
php/curl/mysql

боту нужно выполнить около 20 шагов: 20 запросов к внешнему сайту get/post
с последующим разбором результата регулярками
+ 2-3 простых SQL- запроса


на первых порах заказчик планирует таким макаром обрабатывать 10 000 акков
но в дальнейшем думает увеличить до 100 000

вопрос:
как правильно прикинуть способен ли вообще "бот" такое сделать?
уложится во время и пропускную возможность сети
 
уложится во время и пропускную возможность сети
а что, ВСЮ эту работу скрипту(программе) необходимо сделать за пару секунд ?

а прикинуть легко - посмотреть за какое время прога уложится с 100-ней акков и далее умножать полученное время на коэффициент от 100 [ для двухсот - это 2 :) ]

еще есть такое понятие как бан по ip за dos атаку (т.е. из за огромного количества запросов в ограниченный промежуток времени с одного ip "сервер" может забанить на какое-то время этот ip )
 
возьмите один тестовый акк, и зациклите выполнение ботом операций с этим акком столько раз, сколько Вам нужно...
PHP:
function bot_work($akk){
....
скрипт Вашего бота
...
}
for($i=0; $i<=100000; $i++){
bot_work($akk);
}
 
а что, ВСЮ эту работу скрипту(программе) необходимо сделать за пару секунд ?
за сутки
но выходит (24*60*60) / 100000 = 0.864 сек. на акк
1 запущенный экземпляр бота явно не вытянет, + задержка от прокси -(
а вот как на счет трафика? куда собсно смотреть нужно?

а прикинуть легко - посмотреть за какое время прога уложится с 100-ней акков и далее умножать полученное время на коэффициент от 100 [ для двухсот - это 2 ]
заказчик желает услышать приблизительный оценки до наступления работы


dino скрипта еще нет, да и тестовых акков нет и в той системе с которой нужно работать их создать нельзя
короче нужна математическая прикидка а не экспериментальный замер
 
  • Заблокирован
  • #5
dino скрипта еще нет, да и тестовых акков нет и в той системе с которой нужно работать их создать нельзя короче нужна математическая прикидка а не экспериментальный замер
а как вы математически прикинете? Ведь по большому счету 60% работы вашего скрипта зависит от того сервиса с которым он будет работать. Сегодня этот сервис будет работать быстро, а завтра будет тупить и время отдачи контента возрастет. Так что пока не попробуете не узнаете. Подсчитать не получится даже приблезительно
 
Для решения проблемы можно использовать мультикурл. В этом случае одновременном можно будет "ботить" от нескольких акков, правда опять же есть некоторые ограничения.
 
боту нужно выполнить около 20 шагов: 20 запросов к внешнему сайту get/post с последующим разбором результата регулярками + 2-3 простых SQL- запроса
99.99% времени работы скрипта будет зависеть от 20 запросов к внешнему сайту get/post - соответственно вот вам и критерий оценки. напишите скрипт, который делает только эти запросы, без анализа регулярками и запросов к базе и анализируйте работу этого скрипта - время, трафик, прочее.

а вот как на счет трафика? куда собсно смотреть нужно?
ответ выше.
 
Еще можно порекомендовать проверить возможность вытягивания данных не путем загрузки всей страницы, а через ajax.
 
Еще можно порекомендовать проверить возможность вытягивания данных не путем загрузки всей страницы, а через ajax.
А это то тут при чем? Скрипт запускается один раз и в цикле прогоняет столько запросов сколько нужно... аякс тут не панацея!
 
Я имею ввиду , что на многих сайта можно вытянуть только ту инфу которая нужна, REST api или еще что то.
 
Назад
Сверху