Freigeben über


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
Öffentliche Methode LoadTestGoalBasedLoadProfile Initialisiert eine neue Instanz der LoadTestGoalBasedLoadProfile-Klasse.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft CategoryName Ruft eine zu überwachende Leistungsindikatorkategorie ab oder legt diese fest.
Öffentliche Eigenschaft CounterName Ruft einen zu überwachenden Leistungsindikator ab oder legt diesen fest.
Öffentliche Eigenschaft 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.
Öffentliche Eigenschaft 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.
Öffentliche Eigenschaft InstanceName Ruft eine zu überwachende Leistungsindikatorinstanz ab oder legt diese fest.
Öffentliche Eigenschaft MachineName Ruft den Namen des zu überwachenden Computers ab oder legt diesen fest.
Öffentliche Eigenschaft 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.
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft MaxUserCountDecrease Ruft den maximalen Betrag, um den die Benutzerauslastung reduziert werden soll, ab oder legt ihn fest.
Öffentliche Eigenschaft MaxUserCountIncrease Ruft den maximalen Betrag, um den die Benutzerauslastung erhöht werden soll, ab oder legt ihn fest.
Öffentliche Eigenschaft MinTargetValue Ruft die Zieluntergrenze für das zielbasierte Auslastungsmuster ab oder legt sie fest.
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft ScenarioName Ruft den Namen des Szenarios im Auslastungstest ab, der von der Auslastungsprofilimplementierung gesteuert wird, oder legt ihn fest. (Von LoadTestLoadProfile geerbt.)
Öffentliche Eigenschaft 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
Öffentliche Methode CheckIfProfileCanBeModified Löst eine Ausnahme aus, wenn die Profileigenschaft noch nicht bereit ist, geändert zu werden. (Von LoadTestLoadProfile geerbt.)
Öffentliche Methode 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.)
Öffentliche Methode Equals Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode 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.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen besonderen Typ. (Von Object geerbt.)
Öffentliche Methode 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).)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode RestoreUserCountAfterRestart Stellt die aktuelle Benutzeranzahl (nach Neustart) wieder auf den Wert vor dem Neustart her. (Überschreibt LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode 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

Weitere Ressourcen

About Load Pattern

Gewusst wie: Erstellen eines Auslastungstest-Plug-Ins