vs2012负载测试没有启动很多线程

时间:2012-11-05 17:16:58

标签: c# asp.net web-services visual-studio-2012

我已经建立了一个网络测试。

在其中我添加了写入文件。

我创建了5个虚拟用户的loadtest,只运行上述webtest。

Graph view我看到有5 Users load

最后,我看到只有一行写入文件。

我是否需要以某种特殊方式定义分布?

我认为设置虚拟用户的数量就足够了。没有?

顺便说一下,什么可以导致我的负载测试在每次运行中正好运行10分钟?

我不记得将它限制在10分钟

这是我的测试代码:

public class Settings_CacheExplosion:WebTest     {         // private static readonly ILog activityLog = LogManager.GetLogger(“Activity”);

    private static int _ctidsCounter { get; set; }

    public static int CtidsCounter
    {
        get
        {
            if (_ctidsCounter == 2000)
            {
                _ctidsCounter = 1000;
            }
            return _ctidsCounter++;
        }
        set
        {
            _ctidsCounter = value;
        }
    }

    public Settings_CacheExplosion()
    {
        this.PreAuthenticate = true;

        CtidsCounter = 1000;

        //log4net.Config.XmlConfigurator.Configure();
    }


    public override IEnumerator<WebTestRequest> GetRequestEnumerator()
    {
        WebTestRequest request1 = new WebTestRequest("http://clientservice.mam.qasite-services.com/settings");

        request1.Method = "POST";

        Debug.WriteLine(string.Format("ctid={0}", CtidsCounter));

        request1.QueryStringParameters.Add("ctid", CtidsCounter.ToString(), false, false);
        StringHttpBody request1Body = new StringHttpBody();
        request1Body.ContentType = "";
        request1Body.InsertByteOrderMark = false;
        request1Body.BodyString = "";
        request1.Body = request1Body;

        string path = @"Settings_CacheExplosion_log.txt";
        // This text is added only once to the file. 
        if (!File.Exists(path))
        {
            // Create a file to write to. 
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine(string.Format("ctid={0}", CtidsCounter));
            }
        }

        // This text is always added, making the file longer over time 
        // if it is not deleted. 
        using (StreamWriter sw = File.AppendText(path))
        {
            sw.WriteLine(string.Format("ctid={0}", CtidsCounter));
        }   


        yield return request1;
        request1 = null;
    }
}

1 个答案:

答案 0 :(得分:0)

检查您的书写方法是否覆盖现有条目。如果文件中已有文本,则需要使用append选项。