Ich erstelle ein Konsolenprogramm, das Lesen/Schreiben in einen Cache testen kann, indem es mehrere Clients simuliert und folgenden Code geschrieben hat. Bitte helfen Sie mir zu verstehen:Auslastungstest mit C# Async Warten
- Ist es richtig Weg, um die Multi-Client-Simulation
- Was kann ich mehr es dich um einen echten Belastungstest
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);
}
Scheint in Ordnung zu sein, nur zu erwähnen, WCF und viele andere Service-Hosts verhindern, dass viel von einem Absender geladen wird, also auch wenn Sie Ihren Dienst von einem einzigen Computer bombardieren, können die anderen leicht auf Ihren Dienst zugreifen. –
Wahrscheinlich können einige Tasks mit 'Factory.StartNew' geplant werden und deren Ausführung wird bei einer großen Anzahl gleichzeitiger Tasks verzögert. – cassandrad