2017-02-06 7 views
0

Я использую jsr223 sampler в JMeter 3.1 для генерации ключей для данных запроса HTTP. Проблема в том, что мой скрипт использует криптографические алгоритмы, поэтому, когда число потоков увеличивается, увеличивается время продолжительности скрипта (увеличивается пропорционально количеству пользователей). Поэтому я не могу создать более 5 ударов в секунду. В то же время загрузка процессора остается низкой (8 ядер и 32 ГБ ОЗУ). Есть ли у вас идеи, как увеличить количество просмотров/сек?Jmeter. JSR223, Groovy. Не удается создать нагрузку более 5 ударов/сек.

+0

1. Обеспечить код. 2. Какие «криптографические алгоритмы» вы используете? – zaph

+0

Я использую гибридную криптосистему. Извините, я не могу предоставить код. Я думаю, что это проблема с jmeter. – Fundorin

+0

Какой криптографический примитив вызывает проблему с производительностью? Если вы не предоставите информацию, ответ невозможен. – zaph

ответ

-1

Я заметил ту же проблему. В моих экспериментах я видел, что JSR223 + Groovy работает медленнее, чем большинство других вариантов реализации. Это сильно повлияло на сбор мусора и накладные расходы процессора из-за активности GC. Когда я переключил JSR223 с Groovy на java, у него все еще было много блокировок, и потоки постоянно фиксировались на beanshell bsh.name.

Наконец, я заменил все тестовые элементы JSR223 необработанными элементами beanshell, такими как предварительный процессор/постпроцессор/утверждения и пробоотборники beanshell. Это легко масштабировалось до нескольких тысяч запросов в секунду, а время было < 1 мсек.

Хотя я видел много статей, рекомендующих JSR223 + Groovy, в моем случае это не сработало. Пожалуйста, переключитесь на элементы beanshell с кодом Java внутри них. Это будет работать.

Пожалуйста, обратитесь моя статья

JMeter Tuning - JSR223 + Groovy Vs JSR223 + Java BeanShell Vs Raw BeanShell

+0

Пробовал использовать beanshell, ту же проблему снова ( – Fundorin

+0

Пожалуйста, вы можете запустить JMeter, используя следующее и опубликовать моментальные снимки GC и потоков. "Java.exe -Djsse.enableSNIExtension = false - XX: + HeapDumpOnOutOfMemoryError -Xms4g -Xmx4g -XX: + UseG1GC -XX: MaxGCPauseMillis = 200 -XX: + CMSClassUnloadingEnabled -Dgroovy.use.classvalue = true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.local.only = false -Dcom.sun.management.jmxremote.port = 9010 -Dcom.sun.management.jmxremote.ssl = false -jar /ApacheJMeter.jar – Selva

0

Вы проверить кэш на jsr223 элемент?

Если нет, это, вероятно, объясняет вашу проблему. JSR223 + groovy с проверкой кеша превосходит Beanshell на важный фактор.

Это да, проблема, вероятно, в вашем коде, но вы можете проверить, сделав 3 ниспадающих дампа с интервалом 5 секунд и посмотреть, что делает JMeter?

обеспечить Также вы следуете передовых методов при тестировании:

+0

Да кеш Проверено – Fundorin

+0

Вы покажете скриншот? –

+0

http://joxi.ru/L21dGoqi91obmX – Fundorin