Связаться по Skype: vkarabedyants
Позвонить Написать
+7 (499) 404-28-83

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Применимость JMeter для распределенной нагрузки

Очень часто производят нагрузочное тестирование сервера, чтобы вычислить производительность системы и определить, как она может справиться с большим количеством запросов, которые веб-сервер принимает одновременно. Бывают случаи, когда система очень тонко реагирует на нагрузку и создаёт балансировку самостоятельно, принимая за основу географическое месторасположение клиента. Для тестирования web-приложений одной машины не хватает, поэтому многие ищут возможности решения этой проблемы при минимальных затратах и для максимального результата.jmeter

Сегодня разработано много программных средств, которые помогают произвести нагрузочное тестирование сайта. Также существует возможность задействовать дополнительно удалённых агентов, которые помогут при эмуляции распределения нагрузки. Многие специалисты применяют программу Apache JMeter для load testing.

JMeter обладает довольно сложной и непонятной терминологией, с которой необходимо обязательно ознакомиться перед его применением. Так, клиент – это сервер, который производит управление нагрузкой. Сервер – это агенты, которые осуществляют нагрузку после получения команд от главного сервера.     

Типичную инфраструктуру распределенной нагрузки с помощью JMeter можно представить следующим образом. Клиент взаимодействует с каждым веб-сервером и отправляет ему набор тестов. Они отвечают за выполнение поставленных заданий и уже готовые результаты обратно отправляются клиенту, который обобщает всю полученную информацию и в готовом виде предоставляет её пользователю. Сам процесс не зависит от количества агентов, поэтому можно задействовать даже одну машину.

Для создания контакта между клиентов и его агентами необходимо осуществить несколько действий:

1. Download – для начала необходимо скачать последнюю версию этой программы, причём лучше воспользоваться официальным источником. В архиве предоставляет две версии: одна клиентская, а вторая серверная. При запуске основного файла нужно ввести ключ, именно он будет определяющим в использовании JMeter в роли клиента или сервера. При этом стоит помнить, что версия клиента и серверов должна быть идентичной.

2. Installation – нужно установить архив на машины благодаря разархивированию, таким образом они будут готовы для запуска распределённой нагрузки. Преимуществом этой программы является возможность применять большое количество серверов всего для одного клиента, при этом машины должны находиться в одной подсети. Благодаря VPN-соединениям можно реализовать облачные решения.

3. Servers – нужно произвести запуск серверов распределенной нагрузки. Для этого необходимо в корневой папке программы выбрать файл bin/jmeter-server или .bat при использовании Windows. Иногда программа не может определить IP-адрес сервера, в таком случаи необходимо назначить другой адрес, используя параметры: -Djava.rmi.server.hostname=[IP].

4. The client – когда все серверы будут функционировать, следует уделить время настройке самого клиента, ведь именно он выступает в роли главного звена. Всё очень просто. В файле bin/jmeter.properties нужно прописать IP-адреса серверов в свойство remote_hosts, благодаря этому действию он сможет найти все серверы.

5. Execution – это завершающий этап, который состоит из запуска самой программы и проверки работоспособности всех серверов. Можно попробовать произвести стресс тест сайта. Нужно зайти в пункт меню и выбрать команду: Run -> Remote Start All. Если необходимо задействовать не все сервера, а только отдельные, тогда необходимо указать Run -> Remote Start -> и указать адрес сервера.

Программа Apache JMeter позволит эмулировать любую большую нагрузку, используя помощь удалённых серверов.

Хотите проверить свой сайт и узнать какую нагрузку он выдержит? Или нужно оптимизировать сервер для большей производительности? Обращайтесь [email protected]

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.