LoadTestGoalBasedLoadProfile 클래스

목표 기반 부하 패턴이 있는 부하 테스트의 부하 프로필을 나타냅니다.

상속 계층 구조

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

네임스페이스:  Microsoft.VisualStudio.TestTools.LoadTesting
어셈블리:  Microsoft.VisualStudio.QualityTools.LoadTestFramework(Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

구문

‘선언
<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

LoadTestGoalBasedLoadProfile 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Public 메서드 LoadTestGoalBasedLoadProfile LoadTestGoalBasedLoadProfile 클래스의 새 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Public 속성 CategoryName 모니터링할 성능 카운터 범주를 가져오거나 설정합니다.
Public 속성 CounterName 모니터링할 성능 카운터를 가져오거나 설정합니다.
Public 속성 HigherValuesBetter Category 및 Counter 속성에 지정된 성능 카운터가 값이 낮을수록 리소스 활용률이 높음을 나타내는 성능 카운터인 경우 이 부울 값을 true로 설정합니다.
Public 속성 InitialUserCount 초기 사용자 수를 가져오거나 설정합니다.이는 지정된 목표에 따라 사용자 부하를 조정하기 전 부하 테스트를 시작할 때 실행할 가상 사용자의 수입니다.
Public 속성 InstanceName 모니터링할 성능 카운터 인스턴스를 가져오거나 설정합니다.
Public 속성 MachineName 모니터링할 컴퓨터 이름을 가져오거나 설정합니다.
Public 속성 MaxTargetValue 대상으로 지정할 상한을 가져오거나 설정합니다.카운터가 이 값보다 커지지 않도록 부하가 늘어나거나 줄어듭니다.
Public 속성 MaxUserCount 최대 사용자 수를 가져오거나 설정합니다.목표를 충족한 후에는 부하가 이 값을 초과할 수 없습니다. (LoadTestLoadProfile.MaxUserCount을(를) 재정의함)
Public 속성 MaxUserCountDecrease 사용자 부하를 줄일 최대 양을 가져오거나 설정합니다.
Public 속성 MaxUserCountIncrease 사용자 부하를 늘릴 최대 양을 가져오거나 설정합니다.
Public 속성 MinTargetValue 목표 기반 부하 패턴에 대해 대상으로 지정할 하한을 가져오거나 설정합니다.
Public 속성 MinUserCount 최소 사용자 수를 가져오거나 설정합니다.목표 충족을 위해서라도 부하는 이 값보다 작아질 수 없습니다. (LoadTestLoadProfile.MinUserCount을(를) 재정의함)
Public 속성 ScenarioName 부하 프로필 구현에서 제어 중인 부하 테스트의 시나리오 이름을 가져오거나 설정합니다. (LoadTestLoadProfile에서 상속됨)
Public 속성 StopAdjustingAtGoal true 는 사용자 부하의 조정할 때 테스트를 중지해야 함을 나타냅니다. false 는 필요한 경우 테스트 전체에서 계속 사용자 부하를 조정하여 지정된 성능 카운터 값을 대상 범위 내로 유지해야 함을 나타냅니다.

위쪽

메서드

  이름 설명
Public 메서드 CheckIfProfileCanBeModified 아직 프로필 속성을 수정할 준비가 되지 않은 경우 예외를 throw합니다. (LoadTestLoadProfile에서 상속됨)
Public 메서드 Copy 수정하고 할당할 수 있는 현재 개체의 복사본을 LoadTestScenario.LoadProfile 속성으로 반환합니다. (LoadTestLoadProfile에서 상속됨)
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetLoad 인수로 전달된 부하 테스트 시작 시점부터의 elapsedSeconds 값을 기준으로 부하 테스트의 현 시점에 사용해야 하는 사용자 부하를 반환합니다. (LoadTestLoadProfile.GetLoad(Int32)을(를) 재정의함)
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드 RestoreUserCountAfterRestart (다시 시작 후) 현재 사용자 수를 다시 시작되기 전의 값으로 복원합니다. (LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32)을(를) 재정의함)
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드 Validate LoadProfile 개체에 일치하지 않거나 잘못된 속성이 있으면 InvalidLoadProfileException을 throw합니다.또한 적절한 메시지를 표시합니다. (LoadTestLoadProfile.Validate()을(를) 재정의함)

위쪽

예제

다음 예제에서 Load Test Plugin은 GoadBasedLoadProfile 개체를 구성하여 LoadTestScenario에 할당합니다.또한 Initialize() 메서드에서 DelayBetweenIterations의 값을 LoadTestScenario에 할당합니다.

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

다음 예제에서 Load Test Plugin은 HeartbeatEvent 처리기에서 GoalBasedLoadProfile의 선택한 속성을 수정합니다.이 접근 방식은 .loadtest 파일에 지정된 부하 프로필이 목표 기반 부하 패턴일 경우에만 작동합니다.

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

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.TestTools.LoadTesting 네임스페이스

기타 리소스

About Load Pattern

방법: 부하 테스트 플러그 인 만들기