Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
2.3.2010, 8:53
Сообщение
#1
|
|
|
Новый участник ![]() Группа: Members Сообщений: 11 Регистрация: 20.11.2008 Пользователь №: 12 191 |
Всем доброго дня, собственно вопрос. Хотелось бы нагрузить сайт, одновременной работой около 15000 пользователей, при этом у каждого пользователя свой логин и пароль. Тут без распределенного режима не обойтись, я так понимаю. Есть ли у Jmeter механизм с глобальными переменными к примеру List<User> list... list.remove(i); чтобы каждый экземпляр программы взял только n логинов, и они не пересекались с другими экземплярами. У кого есть опыт подобных нагрузок может даже не в jmeter... Прошу подсказать по возможности.
|
|
|
|
2.3.2010, 9:33
Сообщение
#2
|
|
|
Активный участник обсуждений ![]() ![]() Группа: Members Сообщений: 99 Регистрация: 9.9.2009 Пользователь №: 13 508 |
pitch, у меня не было никогда такой необходимости, однако, решение, видимо, достаточно просто:
создаете csv файл с 15000 записями логинов и паролей читаете записи с X по Y строки __CSVRead (см. Functions ) |
|
|
|
2.3.2010, 9:40
Сообщение
#3
|
|
|
Новый участник ![]() Группа: Members Сообщений: 11 Регистрация: 20.11.2008 Пользователь №: 12 191 |
угу спасибо, я обратил на эту ф-ю внимание, просто придется делать на каждый экземпляр программы, по такому файлу... В принципе в полне достойно )
|
|
|
|
2.3.2010, 10:29
Сообщение
#4
|
|
|
Активный участник обсуждений ![]() ![]() Группа: Members Сообщений: 99 Регистрация: 9.9.2009 Пользователь №: 13 508 |
не совсем понял что вас смущает?
Я вижу это так: делаете один большой csv файл (данный процесс можно и автоматизировать, если такая необходимость возникает часто, я писал как-то свою библиотечку на основе opencsv), запускаете на удаленных компьютерах server'а, делегировав им генерацию нагрузки, Добавляете Counter (передаете ему свои знания о вашей нагрузочной структуре, вы-то знаете сколько машин генерируют нагрузку...) и имеете n-ное количество уникальных юзеров, которые могут брать логины и пароли из файла с произвольным шагом (1,2,3-я строки или 1,10,20...). В седующий раз у вас уже будет csv и ничего переписывать не придется |
|
|
|
2.3.2010, 11:45
Сообщение
#5
|
|
|
Опытный участник ![]() ![]() ![]() ![]() Группа: Members Сообщений: 363 Регистрация: 19.11.2003 Из: Киев Пользователь №: 178 |
pitch, у меня не было никогда такой необходимости, однако, решение, видимо, достаточно просто: создаете csv файл с 15000 записями логинов и паролей читаете записи с X по Y строки __CSVRead (см. Functions ) Не самый удобный и не оптимальный вариант. Особенно, при таком количестве тредов. Лично я стараюсь минимально использовать внешние хранилища данных. Если есть возможность сгенерировать нужные данные в самом тест плане значит ее нужно использовать. Всем доброго дня, собственно вопрос. Хотелось бы нагрузить сайт, одновременной работой около 15000 пользователей, при этом у каждого пользователя свой логин и пароль. Тут без распределенного режима не обойтись, я так понимаю. Есть ли у Jmeter механизм с глобальными переменными к примеру List<User> list... list.remove(i); чтобы каждый экземпляр программы взял только n логинов, и они не пересекались с другими экземплярами. У кого есть опыт подобных нагрузок может даже не в jmeter... Прошу подсказать по возможности. Один из вариантов: Создаете логины пользователей в формате: LoginName + ID, где ID это Counter. Например, Vuser1, Vuser2 и.т.д. В такоме же формате создаете и пароли для каждого из юзеров, например для Vuser1 это может быть password1 или что-то подобное. Если совсем по-простому, то пароль можно сделать одинаковым для всех пользователей. Ну, а дальше простая параметризация Vuser${ID} /password${ID} в месте где происходит логин. |
|
|
|
2.3.2010, 12:14
Сообщение
#6
|
|
|
Активный участник обсуждений ![]() ![]() Группа: Members Сообщений: 99 Регистрация: 9.9.2009 Пользователь №: 13 508 |
Atomic_A@ukr.net,
можно и так, одна проблема, а что если нужно будет еще какие-то уникальные данные с пользоватлем передавать? Тоже генерить автоматически? - не всегда возможно ИМХО Цитата Не самый удобный и не оптимальный вариант Как по мне - так удобнее заранее предусмотреть возможности расширения требований и возможностей скрипта PS/ замечательный у вас блог |
|
|
|
2.3.2010, 13:12
Сообщение
#7
|
|
|
Опытный участник ![]() ![]() ![]() ![]() Группа: Members Сообщений: 363 Регистрация: 19.11.2003 Из: Киев Пользователь №: 178 |
Atomic_A@ukr.net, можно и так, одна проблема, а что если нужно будет еще какие-то уникальные данные с пользоватлем передавать? Тоже генерить автоматически? - не всегда возможно ИМХО Это уже гадание на кофейной гуще. А генерить можно практически все, другой вопрос насколько критично, чтобы формат сгенерированных данных соответствовал реальным данным. Для експеримента попробуйте оба варианта и отпишитесь, что удобней. |
|
|
|
4.3.2010, 11:23
Сообщение
#8
|
|
|
Новый участник ![]() Группа: Members Сообщений: 11 Регистрация: 20.11.2008 Пользователь №: 12 191 |
Всем спасибо, за ответы, я посмотрел при логине одного пользователя, тратится ресурсов столько же если бы это были разные пользователи, cookies, sid, etc... Так, что остановился на 1-2 чтоб обращение было к разным объектам базы данных. Теперь чего то не могу понять, как работает распределенный режим :)
прописал адреса в мастер, запустил слейвы, жму Start Remote xxx.xxx.xxx.xxx на сервере вижу... Starting the test on host 192.168.76.130 @ Thu Mar 04 12:04:48 MSK 2010 (1267693488098) Finished the test on host 192.168.76.130 @ Thu Mar 04 12:05:21 MSK 2010 (1267693521449) что то там отработало, но что именно я не понял :) реально на сайте ничего не произошло... Тест план, как то нужно передавать в jmeter-server или он по RMI все получает от клиента? И потом как и где смотреть результат с нагружальщиков? |
|
|
|
5.3.2010, 9:36
Сообщение
#9
|
|
|
Активный участник обсуждений ![]() ![]() Группа: Members Сообщений: 99 Регистрация: 9.9.2009 Пользователь №: 13 508 |
Ничего передавать на надо
достаточно запустить jmeter-server на всех(!) удаленных машинах, прописать машины нагрузки в списке даленных хостов Результаты аккумулирует ваша головная машина |
|
|
|
5.3.2010, 10:14
Сообщение
#10
|
|
|
News editor ![]() ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 2 667 Регистрация: 12.5.2004 Из: Россия, Москва Пользователь №: 415 Skype: barancev |
Небольшое дополнение к предыдущему комментарию:
Цитата Результаты аккумулирует ваша головная машина но если удалённых машин много, лучше этого не делать (а то сеть неслабо забивается этими передаваемыми результатами), а собирать на каждой удалённой машине независимо, включив в сценарии Simple File Writer, потом собрать все файлы вместе и проанализировать. |
|
|
|
![]() ![]() |
|
Текстовая версия | Сейчас: 31.7.2010, 1:01 |