//[Fact] public void CreateFloodOfFiles() { int filesCount = 1000; int paddingZeros = 1 + (int)Math.Floor(Math.Log10(filesCount)); string fileFormat = "input{0:" + new String('0', paddingZeros) + "}.xml"; string basePath = Path.Combine(OriginalsPath, @"Test1\Input"); TextGenerator gen = new TextGenerator() { MinMessageLength = 100, MaxMessageLength = 1000 }; for (int i = 0; i < filesCount; i++) { string fileName = string.Format(fileFormat, i); string filePath = Path.Combine(basePath, fileName); using (TextWriter writer = File.CreateText(filePath)) { writer.WriteLine("<message>"); writer.WriteLine("<a>"); writer.WriteLine(gen.GenerateMessage()); writer.WriteLine("</a>"); writer.WriteLine("</message>"); } } }
/// <summary> /// Sends a fixed number of messages and measure the elapsed time. /// </summary> /// <param name="messageCount"></param> public void SendFixedCountFlood(int messageCount, int messageSize) { Console.WriteLine("HTTP client - flood generator: sending {0} messages of {1} bytes each", messageCount, messageSize); TextGenerator gen = new TextGenerator() { MinMessageLength = messageSize, MaxMessageLength = messageSize }; XDocument message = new XDocument(); message.Add(new XElement("message", gen.GenerateMessage())); Stopwatch sw = Stopwatch.StartNew(); for (int i = 0; i < messageCount; i++) { SendMessage(message); } sw.Stop(); Console.WriteLine("Elapsed time: {0}, average: {1} messages/sec", sw.ElapsedMilliseconds, messageCount / (0.001 * sw.ElapsedMilliseconds)); }