Condividi tramite


Classe LoadTestGoalBasedLoadProfile

Rappresenta il profilo di carico di un test di carico con un modello di carico basato su obiettivo.

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestLoadProfile
    Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestGoalBasedLoadProfile

Spazio dei nomi:  Microsoft.VisualStudio.TestTools.LoadTesting
Assembly:  Microsoft.VisualStudio.QualityTools.LoadTestFramework (in Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

Sintassi

'Dichiarazione
<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

Il tipo LoadTestGoalBasedLoadProfile espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico LoadTestGoalBasedLoadProfile Inizializza una nuova istanza della classe di LoadTestGoalBasedLoadProfile.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica CategoryName Ottiene o imposta una categoria di contatori delle prestazioni di monitorare.
Proprietà pubblica CounterName Ottiene o imposta le prestazioni del monitor.
Proprietà pubblica HigherValuesBetter Impostare questo valore boolean su true quando il contatore delle prestazioni che è specificato dalla proprietà di categorie e contatori è un contatore delle prestazioni per il quale un valore più basso indica un utilizzo più alto di una risorsa.
Proprietà pubblica InitialUserCount Ottiene o imposta il numero utenti iniziale.Si tratta del numero di utenti virtuali da eseguire all'inizio del test di carico prima che il carico utente sia modificati, in base l'obiettivo specificato.
Proprietà pubblica InstanceName Ottiene o imposta l'istanza del contatore delle prestazioni di monitorare.
Proprietà pubblica MachineName Ottiene o imposta il nome del computer da monitorare.
Proprietà pubblica MaxTargetValue Ottiene o imposta il limite superiore di destinazione.Il carico viene aumentato o diminuito per mantenere il contatore in questo valore.
Proprietà pubblica MaxUserCount Ottiene o imposta il numero massimo utenti.Il carico non può superare questo valore dopo che l'obiettivo è soddisfatto. (Esegue l'override di LoadTestLoadProfile.MaxUserCount).
Proprietà pubblica MaxUserCountDecrease Ottiene o imposta la quantità massima da cui ridurre il carico utente.
Proprietà pubblica MaxUserCountIncrease Ottiene o imposta la quantità massima da cui aumentare il carico utente.
Proprietà pubblica MinTargetValue Ottiene o imposta il limite inferiore al database di destinazione per il modello di carico basato su obiettivo.
Proprietà pubblica MinUserCount Ottiene o imposta il numero minimo utenti.Il carico non può andare in questo valore anche soddisfare l'obiettivo. (Esegue l'override di LoadTestLoadProfile.MinUserCount).
Proprietà pubblica ScenarioName Ottiene o imposta il nome dello scenario nel test di carico che l'implementazione di profilo di carico fase di verifica. (Ereditato da LoadTestLoadProfile)
Proprietà pubblica StopAdjustingAtGoal true indica che il test deve interrompere di regolare il carico utente. false indica che il test deve continuare a modificare il carico utente in qualsiasi test se è necessario mantenere il valore del contatore specificato di prestazioni nell'intervallo di destinazione riferimento.

In alto

Metodi

  Nome Descrizione
Metodo pubblico CheckIfProfileCanBeModified Genera un'eccezione se la proprietà del profilo non è ancora pronta per essere modificato. (Ereditato da LoadTestLoadProfile)
Metodo pubblico Copy Restituisce una copia dell'oggetto corrente in modo da poter essere modificato e assegnato a LoadTestScenario.LoadProfile proprietà. (Ereditato da LoadTestLoadProfile)
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetLoad Restituisce il carico utente che deve essere utilizzato attualmente nel test di carico basato sul valore di elapsedSeconds dall'inizio del test di carico che viene passato come argomento. (Esegue l'override di LoadTestLoadProfile.GetLoad(Int32)).
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico RestoreUserCountAfterRestart Ripristina (dopo il riavvio) il numero di utenti corrente al valore in cui si trovava prima del riavvio. (Esegue l'override di LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32)).
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico Validate Genera un InvalidLoadProfileException se l'oggetto di LoadProfile dispone di proprietà che vengono contradditorie o non valide.Visualizza inoltre un messaggio appropriato. (Esegue l'override di LoadTestLoadProfile.Validate()).

In alto

Esempi

Nell'esempio seguente, un plug-in test di carico viene costruito un oggetto di GoadBasedLoadProfile e lo assegna al LoadTestScenario.Viene inoltre assegnato un valore per DelayBetweenIterations al LoadTestScenario nel metodo di Initialize().

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;
    }
}

Nell'esempio seguente, un plug-in test di carico consente di modificare le proprietà selezionate di un GoalBasedLoadProfile nel gestore di HeartbeatEvent.Questo approccio funziona solo se il profilo di carico specificato nel file con estensione loadtest è un modello di carico basato su obiettivo.

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;
        }
    }
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.TestTools.LoadTesting

Altre risorse

About Load Pattern

Procedura: creare un plug-in test di carico