Эмулятор посетителей

12
auStern
На сайте с 30.03.2007
Offline
167
1805

Хочу проверить как будет вести себя сервер и работать КМС в рабочем варианте. Нужно сэмулировать примерно 100 посетителей, щелкающих в течении часа приблизительно по 5 ссылок.

Такое возможно?

М
На сайте с 08.02.2006
Offline
59
#1

1. JMeter

2. В ZendCore есть простейшая встроенная тулза для нагрузочного тестирования

Мэкс
На сайте с 03.07.2005
Offline
67
#2

Микрософтовский Microsoft Web Application Stress Tool Свободно скачивается с узла микрософт.

Знание некоторых принципов легко возмещает незнание некоторых фактов. К. Гельвеций
Shtogrin
На сайте с 02.11.2006
Offline
95
#3

ab - Apache HTTP server benchmarking tool

http://httpd.apache.org/docs/2.0/programs/ab.html

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
WoolF
На сайте с 11.05.2007
Offline
5
#4

Не проще самому маленький скриптик на PHP для этого написать?

auStern
На сайте с 30.03.2007
Offline
167
#5
WoolF:
Не проще самому маленький скриптик на PHP для этого написать?

Простите, не имею навыков скриптописания.

Может подскажете где взять?

Dreammaker
На сайте с 20.04.2006
Offline
569
#6
Shtogrin:
ab - Apache HTTP server benchmarking tool

ab - кажись он немного не то делает, посмотреть как будет вести себя проект при одновременно 100 пользователях не получится.

ab покажет сколько раз подряд можно запустить проект за определённое время. Хотя может уже что-то изменилось.

update: а здесь именно интересно, что будет если одновременно кликнут :)

Shtogrin
На сайте с 02.11.2006
Offline
95
#7

Dreammaker,

-c concurrency - Number of multiple requests to perform at a time. Default is one request at a time.

Да вроде всегда так было.

--

Еще можно парочку запустить с разными запросами.

Dreammaker
На сайте с 20.04.2006
Offline
569
#8

всё нужно прекращать сегодня писать - во второй теме туплю :)

Shtogrin
На сайте с 02.11.2006
Offline
95
#9

Бросить файл на сайт, открыть в браузере, нажать "старт" - откроется новое окно в котором с указанным таймаутом будут идти клики по ссылкам только этого сайта.

Лет пять назад писал прямо на выставке ... надо было что-то на мониторе показывать

Не 100 пользователей по 5 страниц в час, но 5 пользователей (открыть 5 окошек) по 100 запросов можно посмотреть прямо в браузере.

<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
</head>

<body>
<form method=GET action="javascript:void(0)" name=fform>
<table>
<tr>
<td>Timeout (sec)</td>
<td><input type=text value="2" name=ftime></td>
</tr>
<tr>
<td>Href</td>
<td><input type=text value="" name=fhref size=40></td>
</tr>
<tr>
<td>Count</td>
<td><input type=text value="0" name=fnumb size=40></td>
</tr>
<tr>
<td>Work</td>
<td><textarea rows=10 cols=80 name=ftext></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type=button value="start" onClick=javascript:Start(); return false;>&nbsp;&nbsp;
<input type=button value="stop" onClick=javascript:Stop(); return false;>&nbsp;&nbsp;
<input type=button value="clean" onClick=javascript:Clean(); return false;>
</td>
</tr>
</form>
</table>

<script>

var Wind;
var RSite="http://"+document.location.host;
var RTime=0,RNumb=0;
var ETime=0,ENumb=0;
var WindName=Math.round((Math.random()*(10000000-1)));

function Stop()
{
if(RTime)
clearInterval(RTime);
RTime=0;
}

function Clean()
{
window.document.forms[0].fnumb.value = RNumb = 0;
window.document.forms[0].ftext.value = "";
}

function Start()
{
var a=parseInt(window.document.forms[0].ftime.value)*1000;
var b=window.document.forms[0].fhref.value;
if(!b.length)
return;
RSite=window.document.forms[0].fhref.value;
if(!RSite.length)
return;
Wind=window.open(b,Math.random()*10000);
if(Wind)
RTime=setInterval("StartLink()",(a>1000)?a:50000);
}

function StartLink()
{
var i,ls,l,lr;

if(!Wind.document)
return;
for(i=0;i<20;i++)
{
ls = Math.random()*Wind.document.links.length-1;
l = parseInt (ls);
if(l<0)
continue;
lr = new String ( Wind.document.links[l] );
if(lr.search(RSite) == -1)
continue;
break;
}
if(i==20)
return;
var RSave= Wind.document.links[l];
RNumb++;
Wind.location.replace(RSave);
if(RNumb>1000)
{
window.document.forms[0].ftext.value='';
RNumb=0;
}
window.document.forms[0].fnumb.value = RNumb;
window.document.forms[0].ftext.value += RSave + "\n";
}
window.document.forms[0].fhref.value=RSite;
</script>
</body>

</html>
auStern
На сайте с 30.03.2007
Offline
167
#10

Shtogrin, большое спасибо, попробую.

Вопросик - трафика много ест?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий