我正在创建一个控制台程序,可以通过模拟多个客户端来测试对缓存的读/写,并编写了以下代码。请帮助我理解:
- 这是实现多客户端模拟的正确方式吗?
- 我还能做些什么以使其成为真正的负载测试?
void Main()
{
List<Task<long>> taskList = new List<Task<long>>();
for (int i = 0; i < 500; i++)
{
taskList.Add(TestAsync());
}
Task.WaitAll(taskList.ToArray());
long averageTime = taskList.Average(t => t.Result);
}
public static async Task<long> TestAsync()
{
// Returns the total time taken using Stop Watch in the same module
return await Task.Factory.StartNew(() => // Call Cache Read / Write);
}
Factory.StartNew
进行调度,如果同时存在大量任务,则它们的执行将被延迟。 - cassandrad