Сколько памяти для k6 VU (виртуальный пользователь)? [закрыто]

вы можете использовать функцию soundex () для сравнения фонетически

, ваш запрос должен выглядеть примерно так:

select * from table where soundex(word) like soundex('helo');

, и это вернет вам hello строка

-2
задан Bluebeard 15 January 2019 в 17:43
поделиться

1 ответ

Сколько памяти занимает VU, сильно зависит от того, что делает ваш скрипт и (как правило, более важно), сколько других файлов он импортирует / анализирует. Из-за того, что все VU имеют свою собственную JS VM, они являются отдельными копиями всех файлов JS, которые необходимо проанализировать. Таким образом, если у вас есть какая-то большая библиотека JS, она будет скопирована между VU и, вероятно, будет занимать большую часть вашего использования памяти. Если в вашем скрипте также есть несколько больших файлов с большим количеством тестовых данных - они также будут скопированы и так далее. По моему опыту, простые сценарии могут использовать всего 1-2 МБ или меньше, и я видел, как сценарий достигает 40 МБ в некоторых действительно плохих случаях, когда они импортируют довольно большие JS-библиотеки.

Очевидно, что ваш скрипт будет использовать больше памяти во время выполнения, но основным источником этой памяти будут тела ответа, поэтому мы настоятельно рекомендуем использовать discardResponseBodies (в самом низу страницы), чтобы уменьшить эту память использовать и только установить responseType где / если вам нужен ответ тела.

О линейности - вид, более или менее большая часть памяти в каждом профилированном мной скрипте идет в VU после того, как скрипты JS были проанализированы в начале, и все VU были инициализированы. И они используют примерно одинаковый объем памяти, но есть некоторая память, которая нужна k6 для других целей, в зависимости от того, что вы используете, это должно быть около 200-300 МБ.

В конечном итоге вам придется проверить свой сценарий и посмотреть. Если вы знаете, что собираетесь использовать некоторые библиотеки, импортируйте их, не используя их, чтобы их можно было проанализировать и получить быструю оценку. Вы можете запустить k6 с --paused --no-teardown --no-setup, чтобы только инициализировать VU без фактического выполнения какого-либо кода снова для более быстрой оценки. Я рекомендую указать, сколько VU нужно запустить / инициализировать с помощью -u <count> для тестирования. И вам следует подождать, пока не появится paused перед индикатором выполнения, чтобы все было инициализировано. Имейте в виду, что k6 будет использовать некоторую память для анализа вашего JS и инициализации других вещей в начале, поэтому вам, вероятно, следует начать тестирование по крайней мере с 50 VU и подняться, чтобы увидеть, сколько памяти добавляется для дополнительных VU. Очевидно, что выполнение финального сценария будет использовать больше памяти, но это должно быть полезно для целей измерения.

0
ответ дан Михаил Стойков 15 January 2019 в 17:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: