LoadTestGoalBasedLoadProfile-Klasse
Stellt das Auslastungsprofil eines Auslastungstests dar, der ein zielbasiertes Auslastungsmuster aufweist.
Vererbungshierarchie
System.Object
Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestLoadProfile
Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestGoalBasedLoadProfile
Namespace: Microsoft.VisualStudio.TestTools.LoadTesting
Assembly: Microsoft.VisualStudio.QualityTools.LoadTestFramework (in Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)
Syntax
'Declaration
<SerializableAttribute> _
Public Class LoadTestGoalBasedLoadProfile _
Inherits LoadTestLoadProfile
[SerializableAttribute]
public class LoadTestGoalBasedLoadProfile : LoadTestLoadProfile
[SerializableAttribute]
public ref class LoadTestGoalBasedLoadProfile : public LoadTestLoadProfile
[<SerializableAttribute>]
type LoadTestGoalBasedLoadProfile =
class
inherit LoadTestLoadProfile
end
public class LoadTestGoalBasedLoadProfile extends LoadTestLoadProfile
Der LoadTestGoalBasedLoadProfile-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
LoadTestGoalBasedLoadProfile | Initialisiert eine neue Instanz der LoadTestGoalBasedLoadProfile-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
CategoryName | Ruft eine zu überwachende Leistungsindikatorkategorie ab oder legt diese fest. | |
CounterName | Ruft einen zu überwachenden Leistungsindikator ab oder legt diesen fest. | |
HigherValuesBetter | Legen Sie diesen booleschen Wert auf true fest, wenn der von der Category-Eigenschaften und der Counter-Eigenschaft angegebene Leistungsindikator ein Leistungsindikator ist, für den ein niedrigerer Wert eine höhere Ressourcenauslastung angibt. | |
InitialUserCount | Ruft die ursprüngliche Benutzeranzahl ab oder legt sie fest.Dies ist die Anzahl der virtuellen Benutzer, die zu Beginn des Auslastungstests vorhanden sind, bevor die Benutzerauslastung basierend auf dem angegebenen Ziel angepasst wird. | |
InstanceName | Ruft eine zu überwachende Leistungsindikatorinstanz ab oder legt diese fest. | |
MachineName | Ruft den Namen des zu überwachenden Computers ab oder legt diesen fest. | |
MaxTargetValue | Ruft eine einzuhaltende Obergrenze ab oder legt diese fest.Die Auslastung wird erhöht oder verringert, um den Indikator unter diesem Wert zu halten. | |
MaxUserCount | Ruft die maximale Benutzeranzahl ab oder legt sie fest.Die Auslastung darf diesen Wert nicht überschreiten, nachdem das Ziel erreicht wurde. (Überschreibt LoadTestLoadProfile.MaxUserCount.) | |
MaxUserCountDecrease | Ruft den maximalen Betrag, um den die Benutzerauslastung reduziert werden soll, ab oder legt ihn fest. | |
MaxUserCountIncrease | Ruft den maximalen Betrag, um den die Benutzerauslastung erhöht werden soll, ab oder legt ihn fest. | |
MinTargetValue | Ruft die Zieluntergrenze für das zielbasierte Auslastungsmuster ab oder legt sie fest. | |
MinUserCount | Ruft die Mindestbenutzeranzahl ab oder legt sie fest.Die Auslastung darf nicht unter diesen Wert fallen, um das Ziel zu erreichen. (Überschreibt LoadTestLoadProfile.MinUserCount.) | |
ScenarioName | Ruft den Namen des Szenarios im Auslastungstest ab, der von der Auslastungsprofilimplementierung gesteuert wird, oder legt ihn fest. (Von LoadTestLoadProfile geerbt.) | |
StopAdjustingAtGoal | true gibt an, dass der Test mit dem Anpassen der Benutzerauslastung aufhören muss.false gibt an, dass der Test fortgesetzt werden muss, um die Benutzerauslastung ggf. während des gesamten Tests anzupassen und den angegebenen Leistungsindikatorwert innerhalb des Zielbereichs zu halten. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
CheckIfProfileCanBeModified | Löst eine Ausnahme aus, wenn die Profileigenschaft noch nicht bereit ist, geändert zu werden. (Von LoadTestLoadProfile geerbt.) | |
Copy | Gibt eine Kopie des aktuellen Objekts zurück, sodass es die geändert werden und der LoadTestScenario.LoadProfile-Eigenschaft zugewiesen werden kann. (Von LoadTestLoadProfile geerbt.) | |
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
Finalize | Ermöglicht es einem Objekt, zu versuchen, Ressourcen freizugeben und führt andere Bereinigungsvorgänge aus, bevor es von Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetHashCode | Fungiert als Hashfunktion für einen besonderen Typ. (Von Object geerbt.) | |
GetLoad | Gibt die Benutzerauslastung, die zum aktuellen Zeitpunkt im Auslastungstest verwendet werden soll zurück, und zwar auf der Basis des Werts von elapsedSeconds, seit der Auslastungsteststart als Argument übergeben wurde. (Überschreibt LoadTestLoadProfile.GetLoad(Int32).) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
RestoreUserCountAfterRestart | Stellt die aktuelle Benutzeranzahl (nach Neustart) wieder auf den Wert vor dem Neustart her. (Überschreibt LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) | |
Validate | Löst eine InvalidLoadProfileException aus, wenn das LoadProfile-Objekt ungültige oder inkonsistente Eigenschaften aufweist.Es wird auch eine entsprechende Meldung angezeigt. (Überschreibt LoadTestLoadProfile.Validate().) |
Zum Seitenanfang
Beispiele
Im folgenden Beispiel erstellt ein Auslastungstest-Plug-In ein GoadBasedLoadProfile-Objekt und weist es LoadTestScenario zu. Es weist auch dem LoadTestScenario in der Initialize()-Methode einen Wert für DelayBetweenIterations zu.
using Microsoft.VisualStudio.TestTools.LoadTesting;
public class LoadTestPluginInitChangeProfile : ILoadTestPlugin
{
public void Initialize(LoadTest loadTest)
{
LoadTestGoalBasedLoadProfile goalLoadProfile = new LoadTestGoalBasedLoadProfile();
goalLoadProfile.MachineName = Environment.MachineName;
goalLoadProfile.CategoryName = "Processor";
goalLoadProfile.CounterName = "% Processor Time";
goalLoadProfile.InstanceName = "_Total";
goalLoadProfile.InitialUserCount = 5;
goalLoadProfile.MinUserCount = 1;
goalLoadProfile.MaxUserCount = 100;
goalLoadProfile.MaxUserCountIncrease = 10;
goalLoadProfile.MaxUserCountDecrease = 5;
goalLoadProfile.MinTargetValue = 20;
goalLoadProfile.MaxTargetValue = 25;
// This example assumes that there is only one scenario
loadTest.Scenarios[0].LoadProfile = goalLoadProfile;
loadTest.Scenarios[0].DelayBetweenIterations = 5;
}
}
Im folgenden Beispiel ändert ein Auslastungstest-Plug-In die ausgewählten Eigenschaften eines GoalBasedLoadProfile im HeartbeatEvent-Handler. Dieser Ansatz funktioniert nur, wenn das in der .loadtest-Datei angegebene Auslastungsprofil ein zielbasiertes Auslastungsmuster aufweist.
using Microsoft.VisualStudio.TestTools.LoadTesting;
public class LoadTestPluginChangeGoal : ILoadTestPlugin
{
private LoadTest m_loadTest;
private LoadTestScenario m_scenario1;
private bool m_goalChanged;
public void Initialize(LoadTest loadTest)
{
m_loadTest = loadTest;
// This example assume there is only one scenario
m_scenario1 = loadTest.Scenarios[0];
m_loadTest.Heartbeat += new EventHandler<HeartbeatEventArgs>(m_loadTest_Heartbeat);
}
void m_loadTest_Heartbeat(object sender, HeartbeatEventArgs e)
{
if (e.ElapsedSeconds >= 60 && !m_goalChanged)
{
LoadTestGoalBasedLoadProfile goalLoadProfile =
m_scenario1.LoadProfile.Copy()
as LoadTestGoalBasedLoadProfile;
goalLoadProfile.MinTargetValue = 50;
goalLoadProfile.MaxTargetValue = 60;
m_scenario1.LoadProfile = goalLoadProfile;
m_goalChanged = true;
}
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.VisualStudio.TestTools.LoadTesting-Namespace