你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Invoke-ServiceFabricFailoverTestScenario

调用测试方案以在 Service Fabric 分区中引入故障。

语法

Invoke-ServiceFabricFailoverTestScenario
      -MaxServiceStabilizationTimeoutSec <UInt32>
      -TimeToRunMinute <UInt32>
      [-WaitTimeBetweenFaultsSec <Int32>]
      -PartitionId <Guid>
      -ServiceName <Uri>
      [-TimeoutSec <Int32>]
      [<CommonParameters>]
Invoke-ServiceFabricFailoverTestScenario
      -MaxServiceStabilizationTimeoutSec <UInt32>
      -TimeToRunMinute <UInt32>
      [-WaitTimeBetweenFaultsSec <Int32>]
      -ServiceName <Uri>
      [-TimeoutSec <Int32>]
      [<CommonParameters>]
Invoke-ServiceFabricFailoverTestScenario
      -MaxServiceStabilizationTimeoutSec <UInt32>
      -TimeToRunMinute <UInt32>
      [-WaitTimeBetweenFaultsSec <Int32>]
      -ServiceName <Uri>
      [-PartitionKindSingleton]
      [-TimeoutSec <Int32>]
      [<CommonParameters>]
Invoke-ServiceFabricFailoverTestScenario
      -MaxServiceStabilizationTimeoutSec <UInt32>
      -TimeToRunMinute <UInt32>
      [-WaitTimeBetweenFaultsSec <Int32>]
      -ServiceName <Uri>
      [-PartitionKindNamed]
      -PartitionKey <String>
      [-TimeoutSec <Int32>]
      [<CommonParameters>]
Invoke-ServiceFabricFailoverTestScenario
      -MaxServiceStabilizationTimeoutSec <UInt32>
      -TimeToRunMinute <UInt32>
      [-WaitTimeBetweenFaultsSec <Int32>]
      -ServiceName <Uri>
      [-PartitionKindUniformInt64]
      -PartitionKey <String>
      [-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
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-PartitionId

指定要测试的分区的 ID。

类型:Guid
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-PartitionKey

指定要对其调用测试的分区的键。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-PartitionKindNamed

指示此 cmdlet 测试命名分区。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-PartitionKindSingleton

指示此 cmdlet 测试单一实例分区。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-PartitionKindUniformInt64

指示此 cmdlet 测试 UniformInt64 分区服务。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ServiceName

指定要测试的服务的名称。

类型:Uri
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-TimeoutSec

指定操作的超时期限(以秒为单位)。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TimeToRunMinute

指定运行方案的总时间(以分钟为单位)。

类型:UInt32
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-WaitTimeBetweenFaultsSec

指定连续故障之间的最长等待时间(以秒为单位)。 值越大,并发性越低。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

System.Guid

System.Uri

System.String

输出

System.Object