Partilhar via


Classe LoadTestGoalBasedLoadProfile

Representa o perfil de carga de um teste de carga que tem um padrão de carga baseado em objetivo.

Hierarquia de herança

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

Namespace:  Microsoft.VisualStudio.TestTools.LoadTesting
Assembly:  Microsoft.VisualStudio.QualityTools.LoadTestFramework (em Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

Sintaxe

'Declaração
<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

O tipo LoadTestGoalBasedLoadProfile expõe os membros a seguir.

Construtores

  Nome Descrição
Método público LoadTestGoalBasedLoadProfile Inicializa uma nova instância da classe LoadTestGoalBasedLoadProfile.

Superior

Propriedades

  Nome Descrição
Propriedade pública CategoryName Obtém ou define uma categoria de contador de desempenho para monitorar.
Propriedade pública CounterName Obtém ou define o contador de desempenho para monitorar.
Propriedade pública HigherValuesBetter Defina este valor booleano para true quando o contador de desempenho que é especificado pelas propriedades de categoria e o contador é um contador de desempenho para o qual um valor mais baixo indica um maior uso de um recurso.
Propriedade pública InitialUserCount Obtém ou define a contagem inicial do usuário.Este é o número de usuários virtuais para ser executado no início do teste de carga, antes da carga de usuários é ajustada, com base na meta especificada.
Propriedade pública InstanceName Obtém ou define a instância do contador de desempenho para monitorar.
Propriedade pública MachineName Obtém ou define o nome do computador para monitorar.
Propriedade pública MaxTargetValue Obtém ou define um limite superior para o destino.Carga é aumentada ou diminuída para manter o contador abaixo desse valor.
Propriedade pública MaxUserCount Obtém ou define a contagem máxima de usuário.A carga não não pode exceder esse valor após a meta for atingida. (Substitui LoadTestLoadProfile.MaxUserCount.)
Propriedade pública MaxUserCountDecrease Obtém ou define o valor máximo pelo qual reduzir a carga do usuário.
Propriedade pública MaxUserCountIncrease Obtém ou define o valor máximo pelo qual aumentar a carga de usuário.
Propriedade pública MinTargetValue Obtém ou define o limite inferior para o destino para o padrão de carga baseado em objetivo.
Propriedade pública MinUserCount Obtém ou define a contagem mínima do usuário.A carga possível ficar abaixo desse valor, até mesmo para satisfazer a meta. (Substitui LoadTestLoadProfile.MinUserCount.)
Propriedade pública ScenarioName Obtém ou define o nome do cenário no teste de carga que está controlando a implementação do perfil de carga. (Herdado de LoadTestLoadProfile.)
Propriedade pública StopAdjustingAtGoal true indica que o teste deve parar ajuste de carga de usuários. false indica que o teste deve continuar ajustar a carga de usuários em todo o teste se o que é necessário para manter o valor do contador de desempenho especificado do intervalo de destino.

Superior

Métodos

  Nome Descrição
Método público CheckIfProfileCanBeModified Lança uma exceção se a propriedade de perfil ainda não está pronta para ser modificada. (Herdado de LoadTestLoadProfile.)
Método público Copy Retorna uma cópia do objeto atual para que possa ser modificado e atribuído ao LoadTestScenario.LoadProfile propriedade. (Herdado de LoadTestLoadProfile.)
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetLoad Retorna a carga de usuários que deve ser usada no momento no teste de carga com base no valor elapsedSeconds desde o início do teste de carga que é passado como um argumento. (Substitui LoadTestLoadProfile.GetLoad(Int32).)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público RestoreUserCountAfterRestart Restaura a contagem de usuário atual (após reiniciar) para o valor que tinha antes da reinicialização. (Substitui LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)
Método público Validate Lança um InvalidLoadProfileException se o objeto LoadProfile tem propriedades que são inconsistentes ou não é válido.Ele também exibe uma mensagem apropriada. (Substitui LoadTestLoadProfile.Validate().)

Superior

Exemplos

No exemplo a seguir, um plug-in de teste de carga constrói um objeto GoadBasedLoadProfile e atribui-lo para o LoadTestScenario.Ele também atribui um valor para DelayBetweenIterations para o LoadTestScenario no método 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;
    }
}

No exemplo a seguir, um plug-in de teste de carga modifica as propriedades selecionadas de um GoalBasedLoadProfile no manipulador de HeartbeatEvent.Essa abordagem funciona somente se o perfil de carga que está especificado no arquivo LoadTest é um padrão de carga baseado em objetivo.

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

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.TestTools.LoadTesting

Outros recursos

About Load Pattern

Como: criar um teste de carga plug-in