多次通话测试休息api

时间:2016-07-13 14:34:18

标签: c# .net parallel-processing

我尝试创建一个可以创建100个独立线程的应用程序,每个线程都会调用一个REST服务来衡量它的性能。这是示例代码,但我在我的控制台中没有得到任何结果:/这可能有什么问题?

 namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var slim = new ManualResetEventSlim();
            for (int i = 0; i < 100; i++)
            {
                Task.Factory.StartNew(() =>
                {
                    while (true)
                    {
                        var watch = System.Diagnostics.Stopwatch.StartNew();

                        using (var client = new HttpClient())
                        {
                            client.BaseAddress = new Uri("https://sampleRest.com/");
                            HttpResponseMessage response = client.GetAsync("test").Result;
                            watch.Stop();
                            Console.WriteLine(String.Format("Time: {0}\tStatusCode: {1}\tResponseTime [ms]: {2}\tTaskID: {3}", DateTime.Now, response.StatusCode, watch.ElapsedMilliseconds, Task.CurrentId));
                        }
                    }
                });
            }
            slim.Wait(new CancellationToken());
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以尝试Jmeter,用于加载API和网页的测试。导航到共享链接,浏览Youtube上提供的视频教程。你将可以从。

开始

Jmeter为您提供了一次添加您想要访问api的线程数的选项,并提供了许多功能来分析输出。