<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JMeter &#8212; Можно Подумать</title>
	<atom:link href="https://testitquickly.com/tag/jmeter/feed/" rel="self" type="application/rss+xml" />
	<link>https://testitquickly.com</link>
	<description>про тестирование ПО и всё такое прочее</description>
	<lastBuildDate>Tue, 13 May 2008 14:56:29 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://testitquickly.com/wp-content/uploads/2021/09/favicon_lupan-150x150.jpg</url>
	<title>JMeter &#8212; Можно Подумать</title>
	<link>https://testitquickly.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">202834616</site>	<item>
		<title>CSSH &#8212; используем несколько компьютеров для performance testing</title>
		<link>https://testitquickly.com/2008/05/13/cssh/</link>
					<comments>https://testitquickly.com/2008/05/13/cssh/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Tue, 13 May 2008 14:56:29 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Автоматизация]]></category>
		<category><![CDATA[Откровения]]></category>
		<category><![CDATA[Постановка мозгов]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[JMeter]]></category>
		<guid isPermaLink="false">http://testitquickly.wordpress.com/?p=118</guid>

					<description><![CDATA[В нагрузочном тестировании главное ухитриться и запустить с нескольких компьютеров скрипты, подобные феноменальному JMeter. Цель скриптов &#8212; нежно или грубо грузить тестируемый сервер запросами по определённым сценариям. Предполагается Наличие JMeter, или Siege, или ApacheBenchmark, или любую другую подобную утилиту, тестировщик уже освоил. что выбранная для применения утилита установлена на всех тех компьютерах, которые будут &#171;мочить&#187;… <span class="read-more"><a href="https://testitquickly.com/2008/05/13/cssh/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>В нагрузочном тестировании главное ухитриться и запустить с нескольких компьютеров скрипты, подобные феноменальному JMeter. Цель скриптов &#8212; нежно или грубо грузить тестируемый сервер запросами по определённым сценариям.</p>
<h3><span id="more-118"></span></h3>
<h3>Предполагается</h3>
<ol>
<li>Наличие JMeter, или Siege, или ApacheBenchmark, или любую другую подобную утилиту, тестировщик уже освоил.</li>
<li>что выбранная для применения утилита установлена на всех тех компьютерах, которые будут &#171;мочить&#187; сервер</li>
<li>что тестировщик умеет лично перебегать между компутерами (или теребить коллег) и поочередно запускать с них JMeter-атаки.</li>
<li>что на всех задействованных в этом тестировании компьютерах созданы профили с идентичными логином и паролем. Например, testuser/testpass. Кто этого не сделает, тому все равно придется это сделать, а причину я объясню чуть позже.</li>
</ol>
<p>Теперь сюрприз: что существенно облегчит перебежки тестировщика между компутерами?</p>
<p>Правильно, существенно облегчит перебежки тестировщика между компутерами утилита <strong>Cluster SSH</strong>. А также любая Ubuntu.</p>
<p>
Cluster SSH — программа с графическим интерфесом, позволяющая открыть несколько соединений по SSH и выполнять одновременно во всех них команды.</p>
<h3>Установка (на добро)</h3>
<p>Открываем терминал:</p>
<blockquote>
<p>sudo apt-get install clusterssh</p>
<p>
Y, разумеется, Y!</p>
</blockquote>
<p>Пока ставится, открываем еще одно терминальное окно (позже будет удобно), и пишем команду, которая создает файл с конфигурацией cssh &#8212; starting the utility will be much faster with a configuration file (as this prevents searching for required files):</p>
<blockquote>
<p>sudo cssh -u &gt; /home/user/.csshrc</p>
</blockquote>
<p>В справке путь указан как $HOME. Если у вас домашняя директорая иная, нежели /home/user/, пишите иное.</p>
<p>Запускаем в этом же (втором) терминалике Midnight Commander с правами root (да не убий Убунту):</p>
<blockquote>
<p>sudo mc</p>
</blockquote>
<p>В левой панели ищем /home/user/.csshrc и открываем его. Внимательно смотрим содержимое. Внимательно закрываем содержимое, бо нефиг его трогать. Повторять до просветления.</p>
<p>
В правой панели переходим в &#8216;etc/&#8217;. Там рожаем файл clusters:</p>
<blockquote>
<p>&gt;clusters</p>
</blockquote>
<p>Открываем этот файл на исполнение, и вписываем в него IP компьютеров, на которых располагается наше оружие (JMeter, например):</p>
<blockquote>
<p>host1 = user@192.168.1.32</p>
<p>
host2 = marin@192.168.1.36</p>
<p>
host3 = boss@192.168.1.200</p>
<p>
stressit = host1 host2</p>
<p>
stressitall = host1 host2 host3</p>
</blockquote>
<p>Не спеша прочитав, слушаем внимательно.</p>
<h4 style="padding-left: 30px;">host1</h4>
<p>Количество вписываемых хостов, с которых будем запускать JMeter, неограничено. В этом примере прописано три компьютера. Если надо, пишем сто компьютеров. Или тысячу.</p>
<h4 style="padding-left: 30px;">user@192.168.1.36</h4>
<p>&#8216;user&#8217; &#8212; это имя пользователя <span style="font-weight: bold;">на удаленной машине</span>, которых мы заранее завели перформанс-теста ради. Если юзера там зовут &#8216;Petea&#8217; &#8212; пишем в нашем файле &#8216;Petea&#8217;.</p>
<p>&#8216;192.168.1.36&#8217; &#8212; это IP. Как круто это знать. IP вам выдаст администратор вашей сети, под пытками с применением пива и пиццы. В общем, как договоритесь.</p>
<p>При первом подключении к удаленным компьютерам CSSH выдаст предупреждение и вопрос, мол, &#8216;вы точно хотите подключиться к еще неизвестному мне компутера?&#8217; Придется сказать Yes. Зато потом утилита уже будет знать, что мы ломимся к удаленному компу под указанным нами пользователем, и будем спрашивать только пароль входа.</p>
<h4 style="padding-left: 30px;">stressit</h4>
<p>&#8216;stressit&#8217; &#8212; это произвольное сочетание букв, это тэг, который будет распознавать CSSH. Тэг говорит утилите &#8212; мы хотим запустить наши руки в компы, которые у тебя прописаны под host1 и host2. Имя тэга зависит только от ваших сексуальных предпочтений. Как хотите, так его и назовите. Я назвал его &#8216;stressit&#8217;, и ничуть не сожалею об этом.</p>
<p>Таких тэгов может быть сколько угодно, на случай, если нам нужно будет запускать не всю армаду подчиненных компьютеров разом, а по несколько, для исполнения разных сценариев одновременно. Очень продуманная вещь.</p>
<p>&#8216;stressitall&#8217; &#8212; это пример другого тэга, который говорит: мы убиваем сервер, сразу абсолютно все наши компы. Почему все? Потому, что для этого тэга я указал абсолютно все наличные в файле &#8216;host&#8217; &#8212; и host1, и host2, и host3. Было бы 100 хостов &#8212; пришлось бы прописать их всех. Но сейчас у меня под рукой только три копмьютера, поэтому такая запись в файле &#8216;clusters&#8217;.</p>
<p>
Кстати, мы же создали на всех компах тестовых юзеров-пустышек? Значит, наш файл &#8216;clusters&#8217; выглядит так:</p>
<blockquote>
<p>host1 = user@192.168.1.36</p>
<p>
host2 = user@192.168.1.37</p>
<p>
host3 = user@192.168.1.200</p>
<p>
stressit = host1 host2</p>
<p>
stressitall = host1 host2 host3</p>
</blockquote>
<p>&#8216;MC&#8217; можно закрыть.</p>
<h3>Запускаем cssh</h3>
<p>В терминал:</p>
<blockquote>
<p>sudo cssh stressit</p>
</blockquote>
<p>С правами root мы открываем cssh и повелеваем ей запустить именно те хосты, которые прописаны в файле &#8216;clusters&#8217; под тэгом &#8216;stressit&#8217;.</p>
<p>
<a href="https://testitquickly.com/wp-content/uploads/2008/05/12.jpg"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-124" src="https://testitquickly.com/wp-content/uploads/2008/05/12.jpg" alt="" width="450" height="124" /></a></p>
<p>
В терминале для каждого хоста пишут угрозы типа &#8212; WARNING: unknown host = (see -i switch, or ignore_host_errors in .csshrc) &#8212; ignoring. Их можно игнорировать. Лезть в конфиг-файл и говорить Yes для опции ignore_host_errors не рекомендуется.</p>
<p>При первом подключении к удаленному компьютеру в консоли cssh должен появиться вопрос, мол, вы стукаетесь на такой-то компьютер. Он неизвестен. Вы уверены, что надо к нему подключиться?</p>
<p>
<a href="https://testitquickly.com/wp-content/uploads/2008/05/4.jpg"><img decoding="async" class="aligncenter size-full wp-image-123" src="https://testitquickly.com/wp-content/uploads/2008/05/4.jpg" alt="" width="450" height="296" /></a></p>
<p>
Надо полностью написать слово &#171;yes&#187;.</p>
<p>Ответ cssh &#8212; Warning, permanently added такой-то IP to the list of known hosts, и при последующих запусках этого вопроса не будет. Будет сразу приглашение ввести пароль для доступа. Что нам и нужно.</p>
<p>
<a href="https://testitquickly.com/wp-content/uploads/2008/05/5.jpg"><img decoding="async" class="aligncenter size-full wp-image-125" src="https://testitquickly.com/wp-content/uploads/2008/05/5.jpg" alt="" width="450" height="296" /></a></p>
<p>
Теперь предлагаю поэкспериментировать с утилитой. Можно всякие ее немногочисленные опции подергать. Закрыть и снова запустить.</p>
<p>Можно добавить еще один (или сто) хост по рецепту user@server. Но в принципе &#8212; нечего тут дергать, если мы уже все прописали в файле &#8216;clusters&#8217;.</p>
<p>
<a href="https://testitquickly.com/wp-content/uploads/2008/05/3.jpg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-121" src="https://testitquickly.com/wp-content/uploads/2008/05/3.jpg" alt="" width="450" height="396" /></a></p>
<p>
Если ковыряние завершено, запускаем утилиту по-серьезному. Откроем два компутера которые у нас под тэгом stressit записаны. В терминал:</p>
<p><em>sudo cssh stressit</em></p>
<p>Видим:</p>
<p>
<a href="https://testitquickly.com/wp-content/uploads/2008/05/2.jpg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-122" src="https://testitquickly.com/wp-content/uploads/2008/05/2.jpg" alt="" width="450" height="693" /></a></p>
<p>
Окна я сам расположил равномерно.</p>
<p>Прошу заметить, что в основном окне есть поле ввода. В нем мигает курсор, и позже мы будем туда вписывать кое-чего, но, прикол, в этом поле ничего из того, что вводится, не отображается&#8230; Да и не надо.</p>
<p>Тем не менее, через это поле будем посылать команды во все открытые сеансы (на все компьютеры).</p>
<p>Прошу знать</p>
<ul>
<li>если команду нужно выполнить только для одного сервера, обратитесь к нужному окну терминала.</li>
<li>Чтобы исключить сеанс из перечня массового выполнения команд, нужно снять соответствующий флажок в меню &#8216;Hosts&#8217; в основном окне утилиты.</li>
<li>Чтобы исключить все сеансы сразу, используйте команду &#8216;Toggle active state&#8217; &#8212; в основном окне. Применив ее &#8212; не жалуемся, сеансы действительно отключаются.</li>
<li>Для упорядочивания окон на экране применяем команду &#8216;Retile&#8217;.</li>
<li>Справка по программе есть и в меню Help &#8212; Documentation, и в консоли &#8212; man cssh, и на <a href="http://sourceforge.net/docman/display_doc.php?docid=22686&amp;group_id=89139">sourceforge.net</a>.</li>
</ul>
<p>Все запущено, в основном окне в поле ввода мигает курсор.</p>
<p>Сходу пишем пароль для доступа к удаленным юзерам. Он, по правилам юникс, не отображается. Пишем пароль, жмем &#171;Enter&#187; &#8212; хо-хо мы получили доступ!</p>
<p>Для разгона впишем команду &#8216;ls&#8217;. Вот теперь отлично видно все, что пишем &#8212; это отображается сразу во всех открытых консолях.</p>
<p style="text-align: center;"><a href="https://testitquickly.com/wp-content/uploads/2008/05/6.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-126 aligncenter" src="https://testitquickly.com/wp-content/uploads/2008/05/6.jpg" alt="" width="450" height="707" /></a></p>
<p>Рулез!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2008/05/13/cssh/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">118</post-id>	</item>
	</channel>
</rss>
