Асинхронное нагрузочное тестирование веб-службы WCF - PullRequest
1 голос
/ 22 июля 2010

Я вижу несколько других вопросов о нагрузочном тестировании веб-сервисов.Но, насколько я могу судить, это все инструменты для синхронного нагрузочного тестирования.(Имеется в виду, что они отправляют тонну запросов, но ходят по одному за раз.)

Я ищу инструмент, где я могу сказать: «Я хочу, чтобы 100 запросов запускались одновременно»1003 *

Теперь я новичок во всем, что касается нагрузочного тестирования, поэтому вполне возможно, что эти инструменты асинхронные, и я просто упускаю его.хороший инструмент для нагрузочного тестирования веб-служб WCF асинхронно (т. е. множество потоков).

Ответы [ 3 ]

3 голосов
/ 22 июля 2010

В общем, я рекомендую вам взглянуть на soapUI , чтобы узнать, что связано с тестированием веб-сервисов. Они имеют функции нагрузочного тестирования в Профессиональной версии (я еще не использовал их).

Кроме того, они только что вошли в бета-версию продукта loadUI . Если он так хорош, как родительский продукт, то стоит посмотреть.

1 голос
/ 28 июня 2015

Во время разработки вы можете использовать NLoad (http://nload.github.io) для запуска нагрузочных тестов на вашей машине разработки или в среде тестирования.

Например,

public class MyTest : ITest
{
  public void Initialize()
  {
    // Initialize your test, e.g., create a WCF client, load files, etc.
  }

  public void Execute()
  {
    // Send http request, invoke a WCF service or whatever you want to load test.
  }
}

Затем создать, настроитьи запустить нагрузочный тест:

var loadTest = NLoad.Test<MyTest>()
                      .WithNumberOfThreads(100)
                      .WithDurationOf(TimeSpan.FromMinutes(5))
                      .WithDeleyBetweenThreadStart(TimeSpan.Zero)
                      .OnHeartbeat((s, e) => Console.WriteLine(e.Throughput))
                    .Build();

var result = loadTest.Run();
1 голос
/ 22 июля 2010

вы можете использовать компоненты агента нагрузочного тестирования Visual Studio для запуска на нескольких клиентских компьютерах, что позволит вам работать так же асинхронно, как у вас есть машины для загрузки.Существует лицензия на использование этой функции.

Нет инструментов, которые позволили бы вам применить нагрузку в один и тот же момент (т. Е. В течение миллисекунд), но это не является необходимым для правильной загрузки приложения.

Для большинства потребностейодного сервера нагрузочного тестирования под управлением Visual Studio Ultimate Edition будет более чем достаточно, чтобы понять, как работает ваш веб-сервис под нагрузкой.

Visual Studio и большинство других инструментов, которые, как я представляю, будут применять нагрузку асинхронно, ноЯ думаю, по вашему мнению, вы хотите применить загрузку набора сразу.Это на самом деле не является необходимым, так как на практике нагрузка на службу таким образом не применяется.

Лучшая ставка для сервисов, ожидающих высокой нагрузки, - загружать сервис до тех пор, пока не будет достигнуто заданное количество «запросов в секунду».Определить, какого уровня должно ожидать ваше приложение, немного сложнее, но необходимо приблизительно определить, сколько пользователей вы ожидаете и сколько они будут использовать за определенный период.

Другой тест, который необходимо выполнить, - это настройканагрузочный тестовый жгут и запускайте нагрузку до тех пор, пока веб-служба не начнет работать плохо или тестовый жгут не выйдет из состояния «oomph» и не сможет больше создавать нагрузку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...