Ответ 1
Прежде всего, вы должны попытаться различать "одновременный" и "одновременный". Они, как правило, очень похожие термины, но при нагрузочном тестировании они имеют разные значения. Одновременное означает два или более запросов одновременно. Параллельно работает два или несколько потоков (скриптов), работающих параллельно.
Итак, о чем вы говорите, это попытка настроить JMeter для имитации нескольких одновременных запросов. Но на самом деле там гораздо лучший подход. Вместо того, чтобы сосредоточиться на попытке одновременно использовать один и тот же запрос, что неудивительно в JMeter, вы должны настроить ваш тест как реалистичное представление о том, какую нагрузку вы хотите поддерживать в своем приложении. Если вы сделаете это хорошо, используя случайное время ожидания, контроллеры пропускной способности и реалистичное количество потоков, то вы будете автоматически тестировать concurrency и одновременно выполнять подлинные, действительные и полезные тесты производительности.
Итак, в принципе, отбросьте таймер синхронизации, вместо этого используйте постоянный таймер с пропускной способностью, настройте время ожидания и затем вычислите правильное количество потоков для генерации желаемой нагрузки.
Дополнительный бонус к этому подходу заключается в том, что у вас будет гораздо меньше шансов поднять ложные негативы. Например, если вы нажмете на свой сервер 5 одновременных запросов на вход, вы можете обнаружить, что этот вызов однопоточен и время ответа увеличивается. Но, возможно, это не имеет значения, возможно, шансы на два входа в систему одновременно настолько малы, что не стоит тратить время на изменение кода. Это очень важная концепция тестирования нагрузки - возможно, самая важная - у вас должны быть реалистичные цели, без них вы можете запускать тесты, находить ложные ошибки и обычно тратить время навсегда.