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 | |
---|---|---|
LoadTestGoalBasedLoadProfile | Inicializa uma nova instância da classe LoadTestGoalBasedLoadProfile. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
CategoryName | Obtém ou define uma categoria de contador de desempenho para monitorar. | |
CounterName | Obtém ou define o contador de desempenho para monitorar. | |
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. | |
InitialUserCount | Obtém ou define a contagem inicial do usuário.Este é o número de usuários virtuais para executar no início do teste de carga antes que a carga de usuário é ajustada com base na meta especificada. | |
InstanceName | Obtém ou define a instância do contador de desempenho para monitorar. | |
MachineName | Obtém ou define o nome do computador para monitorar. | |
MaxTargetValue | Obtém ou define um limite superior para o destino.Carga é aumentada ou diminuída para manter o contador abaixo desse valor. | |
MaxUserCount | Obtém ou define a contagem máxima de usuário.A carga não pode exceder a esse valor após a meta for atingida. (Substitui LoadTestLoadProfile.MaxUserCount.) | |
MaxUserCountDecrease | Obtém ou define o valor máximo pelo qual reduzir a carga do usuário. | |
MaxUserCountIncrease | Obtém ou define o valor máximo pelo qual aumentar a carga de usuário. | |
MinTargetValue | Obtém ou define o limite inferior para o destino para o padrão de carga baseado em objetivo. | |
MinUserCount | Obtém ou define a contagem mínima do usuário.A carga possível ficar abaixo desse valor, mesmo para satisfazer a meta. (Substitui LoadTestLoadProfile.MinUserCount.) | |
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.) | |
StopAdjustingAtGoal | true indica que o teste deve parar ajuste de carga de usuário.falseindica 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. |
Início
Métodos
Nome | Descrição | |
---|---|---|
CheckIfProfileCanBeModified | Lança uma exceção se a propriedade de perfil ainda não está pronta para ser modificada. (Herdado de LoadTestLoadProfile.) | |
Copy | Retorna uma cópia do objeto atual para que possa ser modificado e atribuído ao LoadTestScenario.LoadProfile propriedade. (Herdado de LoadTestLoadProfile.) | |
Equals | Determina se o especificado Object é igual a atual Object. (Herdado de Object.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Herdado de Object.) | |
GetLoad | Retorna a carga de usuário deve ser usada no momento no teste de carga com base no valor elapsedSeconds desde o início do teste de carga, o que é passado como um argumento. (Substitui LoadTestLoadProfile.GetLoad(Int32).) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
RestoreUserCountAfterRestart | Restaura a contagem de usuário atuais (após reiniciar) para o valor que tinha antes da reinicialização. (Substitui LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).) | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) | |
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().) |
Início
Exemplos
No exemplo a seguir, um plug-in de teste de carga constrói um objeto GoadBasedLoadProfile e atribui a ele 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 static (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