Invoke-ServiceFabricFailoverTestScenario
调用测试方案以在 Service Fabric 分区中引入故障。
语法
PartitionId
Invoke-ServiceFabricFailoverTestScenario
-MaxServiceStabilizationTimeoutSec <UInt32>
-TimeToRunMinute <UInt32>
-PartitionId <Guid>
-ServiceName <Uri>
[-WaitTimeBetweenFaultsSec <Int32>]
[-TimeoutSec <Int32>]
[<CommonParameters>]
ServiceNameRandomPartition
Invoke-ServiceFabricFailoverTestScenario
-MaxServiceStabilizationTimeoutSec <UInt32>
-TimeToRunMinute <UInt32>
-ServiceName <Uri>
[-WaitTimeBetweenFaultsSec <Int32>]
[-TimeoutSec <Int32>]
[<CommonParameters>]
ServiceNamePartitionSingleton
Invoke-ServiceFabricFailoverTestScenario
-MaxServiceStabilizationTimeoutSec <UInt32>
-TimeToRunMinute <UInt32>
-ServiceName <Uri>
[-WaitTimeBetweenFaultsSec <Int32>]
[-PartitionKindSingleton]
[-TimeoutSec <Int32>]
[<CommonParameters>]
ServiceNamePartitionNamed
Invoke-ServiceFabricFailoverTestScenario
-MaxServiceStabilizationTimeoutSec <UInt32>
-TimeToRunMinute <UInt32>
-ServiceName <Uri>
-PartitionKey <String>
[-WaitTimeBetweenFaultsSec <Int32>]
[-PartitionKindNamed]
[-TimeoutSec <Int32>]
[<CommonParameters>]
Invoke-ServiceFabricFailoverTestScenario
-MaxServiceStabilizationTimeoutSec <UInt32>
-TimeToRunMinute <UInt32>
-ServiceName <Uri>
-PartitionKey <String>
[-WaitTimeBetweenFaultsSec <Int32>]
[-PartitionKindUniformInt64]
[-TimeoutSec <Int32>]
[<CommonParameters>]
说明
Invoke-ServiceFabricFailoverTestScenario cmdlet 启动测试方案,以在 Service Fabric 分区中引入故障。
该测试将分区置于特定的故障转移方案中,以确保执行这些路径。
如果在 cmdlet 运行其测试时针对 Service Fabric 服务运行工作负荷,则会增加在服务中发现 bug 的可能性。
主要实例、辅助实例和无状态实例引起的故障如下:
- RestartReplica (仅保留)
- RemoveReplica
- ResartDeployedCodePackage
- MovePrimary (仅有状态)
- MoveSecondary (仅有状态)
- RestartPartition (无数据丢失)
使用此 cmdlet 之前,请连接到 Service Fabric 群集。
示例
示例 1:运行故障转移测试
PS C:\> $TimeToRun = 60
PS C:\> $MaxStabilizationTimeSecs = 180
PS C:\> $WaitTimeBetweenFaultsSec = 10
PS C:\> $ServiceName = "fabric:/SampleApp/SampleService"
PS C:\> Invoke-ServiceFabricFailoverTestScenario -TimeToRunMinute $TimeToRun -MaxServiceStabilizationTimeoutSec $MaxStabilizationTimeSecs -WaitTimeBetweenFaultsSec $WaitTimeBetweenFaultsSec -ServiceName $ServiceName -PartitionKindSingleton
参数
-MaxServiceStabilizationTimeoutSec
指定服务在测试失败之前要稳定的最大超时期限(以秒为单位)。
参数属性
| 类型: | UInt32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-PartitionId
指定要测试的分区的 ID。
参数属性
| 类型: | Guid
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
PartitionId
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-PartitionKey
指定要对其调用测试的分区的键。
参数属性
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ServiceNamePartitionNamed
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
ServiceNamePartitionUniformedInt
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-PartitionKindNamed
指示此 cmdlet 测试命名分区。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ServiceNamePartitionNamed
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-PartitionKindSingleton
指示此 cmdlet 测试单一实例分区。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ServiceNamePartitionSingleton
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
指示此 cmdlet 测试 UniformInt64 分区服务。
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
ServiceNamePartitionUniformedInt
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ServiceName
指定要测试的服务的名称。
参数属性
| 类型: | Uri
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-TimeoutSec
指定操作的超时期限(以秒为单位)。
参数属性
| 类型: | Int32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-TimeToRunMinute
指定运行方案的总时间(以分钟为单位)。
参数属性
| 类型: | UInt32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-WaitTimeBetweenFaultsSec
指定连续故障之间的最长等待时间(以秒为单位)。
值越大,并发性越低。
参数属性
| 类型: | Int32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
System.Guid
System.Uri
System.String
输出
System.Object