<?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>Performance Testing &#8212; Можно Подумать</title>
	<atom:link href="https://testitquickly.com/category/performance-testing/feed/" rel="self" type="application/rss+xml" />
	<link>https://testitquickly.com</link>
	<description>про тестирование ПО и всё такое прочее</description>
	<lastBuildDate>Mon, 08 Dec 2008 10:37:30 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://testitquickly.com/wp-content/uploads/2021/09/favicon_lupan-150x150.jpg</url>
	<title>Performance Testing &#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>Что такое перформанс-тестирование</title>
		<link>https://testitquickly.com/2008/12/08/essential-about-performance-testing/</link>
					<comments>https://testitquickly.com/2008/12/08/essential-about-performance-testing/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Mon, 08 Dec 2008 10:37:30 +0000</pubDate>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Банальное]]></category>
		<category><![CDATA[Откровения]]></category>
		<category><![CDATA[Постановка мозгов]]></category>
		<category><![CDATA[Соображения]]></category>
		<category><![CDATA[Основы]]></category>
		<guid isPermaLink="false">http://testitquickly.wordpress.com/?p=578</guid>

					<description><![CDATA[Запись техническая, для порядка, уточнений и ссылания на первоисточники. Тестирование продуктивности &#8212; вот самый точный перевод термина &#171;performance testing&#187;. Но чаще всего используется словосочетание &#171;тестирование производительности&#171;. А еще чаще мы говорим &#171;перформанс тестинг&#187;, чтобы не упариться с переводом. Непорядок мирового порядка заключается в том, что под словом &#171;перформанс&#187; подразумевается очень много всякого. Например, выступление артистов… <span class="read-more"><a href="https://testitquickly.com/2008/12/08/essential-about-performance-testing/">Читать далее: Что такое перформанс-тестирование &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p style="text-align:right;"><em>Запись техническая, для порядка, уточнений и ссылания на первоисточники.</em></p>
<p><strong>Тестирование продуктивности</strong> &#8212; вот самый точный перевод термина &#171;performance testing&#187;.</p>
<p>
Но чаще всего используется словосочетание &#171;<strong>тестирование производительности</strong>&#171;.</p>
<p>
А еще чаще мы говорим &#171;перформанс тестинг&#187;, чтобы не упариться с переводом.</p>
<p style="padding-left:30px;">Непорядок мирового порядка заключается в том, что под словом &#171;перформанс&#187; подразумевается очень много всякого. Например, выступление артистов на сцене — тоже перформанс. Но мы тут далеки от необходимости кого-то в чем-то убеждать.</p>
<p>Большинство уверено, что в &#171;перформансе&#187; речь идет только о максимальных нагрузках, и в чем-то право. Вообще, мнения о том, что подразумевает &#171;перформанс-тестинг&#187;, слегка очень сильно расходятся. Этому есть здравое, нижележащее объяснение.</p>
<p>
Перформанс-тестированию можно подвергнуть любое приложение или изделие (например, изделие №2), но здесь и далее подразумевается только тестирование веб-ориентированных приложений.</p>
<p>
<span id="more-578"></span></p>
<h2>Проверка продуктивности сайта</h2>
<p>в принципе подразумевает следующее:</p>
<ol>
<li>Эмулирование пользовательских запросов к тестируемому сайту на минимальных, средних, и максимальных величинах (которые должны быть определены ДО начала перформанс-тестинга).
<ul>
<li>Это называется <strong>испытание сайта в рабочих условиях,</strong> или максимально к ним приближенных.</li>
</ul>
</li>
<li>Сравнение изначальных критериев оценки продуктивности функционирования сайта (чего хотели добиться) с реальными показателями (что получилось).</li>
</ol>
<h3>Критерии продуктивности</h3>
<p>исследуемого приложения определяются как часть общих требований задолго до того, как это самое приложение появится в сети.</p>
<p>
Критерии продуктивности должны быть:</p>
<ul>
<li>измеримыми,</li>
<li>количественными,</li>
<li>прогнозируемыми,</li>
<li>понятными.</li>
</ul>
<h3>Пример критериев</h3>
<ol>
<li>при поиске профилей с фотографиями сервер должен &#171;выдерживать&#187; не меньше 150 одновременным запросов,</li>
<li>генерация страницы с результатами запроса не превышает 4 секунд,</li>
<li>результаты запросов кэшируются и выдаются очередному пользователю, который делает запрос, аналогичный предыдущему,</li>
<li>приложение &#171;выдерживает&#187; 600 активных пользователей.</li>
</ol>
<p>Делая вид, что основываются на этой информации, веб-строители выбирают подходящие инструменты и программное обеспечение. Например, мы верим в то, что система управления базами данных MySQL выдерживает, не кашляя, 200 одновременных запросов. Точнее, принимает и ставит сукиных детей в очередь. Значит, &#171;<em>Для обеспечения 150 одновременным запросов на разрабатываемом приложении мы выбираем MySQL!</em>&#187; говорят веб-строители, а потом оказывается, что надо было сразу выбирать Berkeley, но &#171;Боржоми&#187; уже закончилось&#8230;</p>
<blockquote>
<p>Иногда разработчики ничего особо не выбирают, а пользуются тем, что есть и чем они умеют управлять&#8230;</p>
</blockquote>
<p>Тестировщиков проблема выбора веб-строителей не волнует. Тестировщиков волнует проверка продуктивности этого творения.</p>
<h2>Что следует проверять</h2>
<p>при перформанс-тестировании, уже придумано до и для нас:</p>
<ol>
<li>
<h3><strong>Время отклика</strong></h3>
<ul>
<li>В оригинале: <em>Response time</em><strong>.</strong></li>
<li>Измеряется в секундах время между исходным запросом к серверу и его &#171;окончательным&#187; ответом клиенту во всех рабочих режимах &#8212; как в режиме нормальной нагрузки, так и в усиленном режиме, когда перегорают сразу все UPS в здании.</li>
</ul>
</li>
<li>
<h3><strong>Максимально допустимая нагрузка</strong></h3>
<ul>
<li>В оригинале: <em>Load testing</em>.</li>
<li>Просто последовательно увеличиваем нагрузку с нуля до &#171;допустимых&#187; параметров.</li>
<li>Основной вопрос, на который мы пытаемся ответить посредством лоад-тестинга: <em>&#171;Как изменяется время отклика при увеличении нагрузки на сервер &#8212; линейно или по-дурацки</em>?&#187;
<ul>
<li>Линейно: если время отклика растет пропорционально увеличению нагрузки. Это нормально.</li>
<li>По-дурацки: если время отклика растет непропорционально увеличению нагрузки. Начинаются задумчивые, непрогнозируемые, неконтролируемые &#171;тормоза&#187;.
<ul>
<li>Иногда вместо &#171;по-дурацки&#187; говорят &#171;логарифмически&#187;. Пример: &#171;<em>Время отклика растет логарифмически</em>!&#187;</li>
<li>Лично еще не встречал человека, который мог свободно и уместно использовать этот термин.</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>Уточнение: лоад-тестинг является составной частью всеобщего перформанс-тестинга.</li>
</ul>
</li>
<li>
<h3>Максимально выдерживаемая нагрузка</h3>
<ul>
<li>В оригинале: <em>Stress testing</em><strong>.</strong></li>
<li>Делаем то же самое, что и при load testing, просто не останавливаемся, когда доходим до предполагаемых пределов. Продолжаем увеличивать нагрузку. Доводим сервачок до истерики. Получаем информацию о том, как он себя поведет, когда нагрузка превысит расчетные нормы. Узнаем, до каких масштабов сервер (ну, или приложение) будет стараться работать, и на каких значениях оно откажется нам служить.</li>
<li>Таким образом, разница между Load и Stress testing в перформансе очень субъективна, грань тонка, а со стороны вообще не разобрать, что происходит — просто сидит человек перед компьютером&#8230; В действительности разница в том, что Load приносит нам информацию о поведении приложения &#171;в рамках ожидаемого&#187;, а stress приносит нам информацию о поведении приложения при пересечении этих &#171;рамок&#187;.</li>
</ul>
</li>
<li>
<h3><strong>Время отклика</strong></h3>
<ul>
<li>В оригинале: <em>Response time</em><strong>.</strong></li>
<li>Измеряется в секундах время между исходным запросом к серверу и его &#171;окончательным&#187; ответом клиенту во всех рабочих режимах &#8212; как в режиме нормальной нагрузки, так и в усиленном режиме, когда перегорают сразу все UPS в здании.</li>
</ul>
</li>
<li>
<h3><strong>Среднее время наработки на отказ</strong></h3>
<ul>
<li>В оригинале: <em>Mean time to failure</em> (MTTF).</li>
<li>Разработчики клянутся в том, что при нагрузке в 300 активных пользователей сервер &#171;будет беспроблемно жить в течение часа, пока кэш не переполнится&#187;.
<ul>
<li>Тестировщики начинают подсчитывать: час &#8212; 300 юзеров. Значит, 600 юзеров &#171;убьют&#187; приложение за полчаса. А 1200 юзеров убьют сервер моментально!</li>
<li>Или нет: час = 300 юзеров. А если два часа держать сервер под этой нагрузкой? А если три? А если шесть часов держать сервер под таким массивом запросов &#8212; он рухнет? Нет? Давайте проверять.</li>
<li>А давайте узнаем, сколько времени будет &#171;безотказно&#187; работать сервер с базой данных отдельно от сервера с приложением! А процессор не перегреется?</li>
</ul>
</li>
<li>В общем, на основе собственных знаний, инженеры предполагают, что в течение недели сервер будет &#171;стабильно&#187; жить под пиковой нагрузкой в 300 запросов в течение часа. Нормально? Это предсказывали? Это и проверили?</li>
<li>Для тестирования веб-серверов MTTF может и не быть очень важной проверкой. Если сдох — ну, ребутнём его&#8230; Но, например, без тестирования на MTTF систем, которые будут работать далеко от разработчиков (в космосе), фэйл может быть буквально трагичным.</li>
</ul>
</li>
<li>
<h3><strong>Настройка продуктивности</strong></h3>
<ul>
<li>В оригинале: <em>Performance tuning.</em></li>
<li>Звучит странно, но тут действительно подразумевается конечная подстройка производительности тестируемого сервера. Тестировщики СОВМЕСТНО с разработчиками настраивают и в сотый раз перепроверяют работу сервера с учетом сделанных изменений. Сами по себе тестировщики здесь беспомощны.<em></p>
<p>
</em></li>
<li>В тысячный раз увеличивается нагрузка на сервер до тех пор, пока все &#171;узкие места&#187; не объявлены &#171;выявленными и ликвидированными&#187;. Или &#171;выявленными, но признанными недопустимыми&#187;.</li>
</ul>
</li>
</ol>
<h2>Инструменты для тестирования продуктивности</h2>
<h3>Бесплатные</h3>
<ul>
<li><a href="http://jakarta.apache.org/jmeter/">Apache JMeter</a></li>
<li>Grinder</li>
<li><a href="http://webload.org">WebLoad</a></li>
<li>Microsoft Web Application Stress Tool</li>
<li><a href="http://opensta.org">OpenSTA</a></li>
<li>QEngine</li>
</ul>
<h3>Платные</h3>
<ul>
<li>NeoLoad</li>
<li>LoadRunner</li>
<li>Rational Robot, Rational Performance Tester</li>
<li>SilkPerformer</li>
<li>AQtime</li>
<li>PureLoad</li>
<li>QALoad</li>
</ul>
<h2>Если много свободного времени</h2>
<ol>
<li>Читаем тоже общую, но толковую статью &#171;<a class="contentpagetitle" href="http://software-testing.ru/library/testing/performance-testing/55-2008-10-13-19-04-11">Описание подхода к тестированию производительности ПО</a>&#171;:</p>
<blockquote>
<p>Подготовка, в виде формирования требований к данному виду тестирования, включая нагрузочную модель, является исключительно важным этапом в практике тестирования производительности, так как некорректная нагрузочная модель может привести к результатам не правильно характеризующим поведение системы и сделать затруднительным принятие решений по улучшению производительности Приложения.</p>
</blockquote>
</li>
<li>Читаем двухсотстраничный <a href="http://www.codeplex.com/PerfTestingGuide/Release/ProjectReleases.aspx?ReleaseId=6690">Performance Testing Guidance</a> (pdf) из лабораторий Microsoft за авторством
<ol>
<li>J.D. Meier</li>
<li>Carlos Farre</li>
<li>Prashant Bansode</li>
<li>Scott Barber</li>
<li>Dennis Rea</li>
</ol>
</li>
</ol>
<p>Пожалуйста, разубедите меня в том, что за умение проводить перформанс-тестинг платят больше, нежели за мануальное и автоматизированное тестирование.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2008/12/08/essential-about-performance-testing/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">578</post-id>	</item>
		<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/">Читать далее: CSSH &#8212; используем несколько компьютеров для performance testing &#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>
