C# имитирует несколько клиентов, вызывающих случайным образом 10 веб-сервисов
У меня есть Azure App Service
тот хозяин WCF service
, эта служба потребляет БД, которая находится в Azure SQL Database
.
Те WCF Services
были установлены в прошлом на выделенном компьютере, но, поскольку мы выполняем переход на Azure, нам необходимо убедиться, что выбранный App Service Plan
а также Instance for Azure SQL Database
достаточно для обработки имеющейся у нас нормальной нагрузки.
Я хочу создать Winform
app, затем сослаться на службы Azure WCF, и они реализуют вызов всего 10 методов (выберут те, которые являются высоконагруженными), а затем создадут, скажем, от 0 до 50 потоков, которые могут выполняться одновременно и случайным образом выполняться внутри 10 методов.
Например:
Поток n (имитирует клиента №n) будет запускать последовательно 10 методов случайным образом
GetData1
метод подождите, чтобы закончить тогдаGetData2
метод подождите, чтобы закончить тогдаGetData3
метод подождите, чтобы закончить тогдаGetData..10
метод дождитесь завершения.
Таким образом, все потоки должны запускаться одновременно, но методы могут быть разными, поэтому для потока 1, возможно, первым запускается методGetData4
, для потока 2 первым запускаемым методом может бытьGetData10
, и так далее.
И мне нужно регистрировать прошедшие миллисекунды, которые потребовались для запуска каждого метода в каждом потоке. Таким образом, я бы знал, что если я запустил 10 клиентов, я смогу увидеть, что, возможно, ответ будет хорошим, но если я запущу 25, возможно, ответ будет иметь плохую задержку, и это заставит меня увеличить план службы приложений и БД..
Любая подсказка о том, с чего начать, или пример кода, который может в этом помочь?