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 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
LoadTestGoalBasedLoadProfile | LoadTestGoalBasedLoadProfile 클래스의 새 인스턴스를 초기화합니다. |
위쪽
속성
이름 | 설명 | |
---|---|---|
CategoryName | 모니터링할 성능 카운터 범주를 가져오거나 설정합니다. | |
CounterName | 모니터링할 성능 카운터를 가져오거나 설정합니다. | |
HigherValuesBetter | Category 및 Counter 속성에 지정된 성능 카운터가 값이 낮을수록 리소스 활용률이 높음을 나타내는 성능 카운터인 경우 이 부울 값을 true로 설정합니다. | |
InitialUserCount | 초기 사용자 수를 가져오거나 설정합니다.이는 지정된 목표에 따라 사용자 부하를 조정하기 전 부하 테스트를 시작할 때 실행할 가상 사용자의 수입니다. | |
InstanceName | 모니터링할 성능 카운터 인스턴스를 가져오거나 설정합니다. | |
MachineName | 모니터링할 컴퓨터 이름을 가져오거나 설정합니다. | |
MaxTargetValue | 대상으로 지정할 상한을 가져오거나 설정합니다.카운터가 이 값보다 커지지 않도록 부하가 늘어나거나 줄어듭니다. | |
MaxUserCount | 최대 사용자 수를 가져오거나 설정합니다.목표를 충족한 후에는 부하가 이 값을 초과할 수 없습니다. (LoadTestLoadProfile.MaxUserCount을(를) 재정의함) | |
MaxUserCountDecrease | 사용자 부하를 줄일 최대 양을 가져오거나 설정합니다. | |
MaxUserCountIncrease | 사용자 부하를 늘릴 최대 양을 가져오거나 설정합니다. | |
MinTargetValue | 목표 기반 부하 패턴에 대해 대상으로 지정할 하한을 가져오거나 설정합니다. | |
MinUserCount | 최소 사용자 수를 가져오거나 설정합니다.목표 충족을 위해서라도 부하는 이 값보다 작아질 수 없습니다. (LoadTestLoadProfile.MinUserCount을(를) 재정의함) | |
ScenarioName | 부하 프로필 구현에서 제어 중인 부하 테스트의 시나리오 이름을 가져오거나 설정합니다. (LoadTestLoadProfile에서 상속됨) | |
StopAdjustingAtGoal | true 는 사용자 부하의 조정할 때 테스트를 중지해야 함을 나타냅니다. false 는 필요한 경우 테스트 전체에서 계속 사용자 부하를 조정하여 지정된 성능 카운터 값을 대상 범위 내로 유지해야 함을 나타냅니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
CheckIfProfileCanBeModified | 아직 프로필 속성을 수정할 준비가 되지 않은 경우 예외를 throw합니다. (LoadTestLoadProfile에서 상속됨) | |
Copy | 수정하고 할당할 수 있는 현재 개체의 복사본을 LoadTestScenario.LoadProfile 속성으로 반환합니다. (LoadTestLoadProfile에서 상속됨) | |
Equals | 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨) | |
Finalize | 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨) | |
GetHashCode | 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨) | |
GetLoad | 인수로 전달된 부하 테스트 시작 시점부터의 elapsedSeconds 값을 기준으로 부하 테스트의 현 시점에 사용해야 하는 사용자 부하를 반환합니다. (LoadTestLoadProfile.GetLoad(Int32)을(를) 재정의함) | |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) | |
MemberwiseClone | 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨) | |
RestoreUserCountAfterRestart | (다시 시작 후) 현재 사용자 수를 다시 시작되기 전의 값으로 복원합니다. (LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32)을(를) 재정의함) | |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) | |
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 네임스페이스