次の方法で共有


脱水を計算する方法

退避を計算するには、構成されたプロパティおよび特定の実行時の値を使用します。 仮定の退避シナリオを計算する方法を次の例に示します。

退避を計算するには

  1. メモリの負荷を測定する 0 と 1 の間の要素を alpha によって表します。 実際には、α には、3 つのメモリ調整条件 (脱水プロパティ) のそれぞれに対するコンポーネントがあります。この例では、それらを alpha(virtual)、alpha(private) および alpha(physical) として表します。 次のように定義します。

    IF ActualPrivateBytes < OptimalUsage  
       alpha(private) = 1  
    ELSE IF ActualPrivateBytes > MaximalUsage  
       alpha(private) = 0  
    ELSE  
       alpha(private) = (MaximalUsage - ActualPrivateBytes) / (MaximalUsage - OptimalUsage)  
    

    Note

    OptimalUsage と MaximalUsage には各退避プロパティの既定値があります。 これらの値は BTSNTSvc.exe.config ファイルで変更できます。 詳細については、「 退避の既定のプロパティ」を参照してください。

  2. その他の alpha コンポーネントも同様に定義します。 次のように定義します。

    alpha = Minimum { alpha(virtual), alpha(private), alpha(physical) }  
    where alpha(…) = 1 whenever IsActive=false for that given memory unit  
    
  3. 次に TestThreshold を定義します (TestThreshold、MinThreshold、および MaxThreshold は秒単位で定義します)。

    TestThreshold = MinThreshold + (alpha * (MaxThreshold – MinThreshold))  
    

    Note

    MinThreshold の既定値は 1 です。 MaxThreshold の既定値は 1800 です。 これらの値は BTSNTSvc.exe.config ファイルで変更できます。 詳細については、「 退避の既定のプロパティ」を参照してください。

  4. 次に TimeBlocked と EstimatedTime を定義します。

    • TimeBlocked = サブスクリプションが満たされるまでに待機する実際の時間

    • EstimatedTime = このオーケストレーションがアイドルである推定時間 (たとえば、待ち受け中の残りのタイムアウト)

    退避するかどうかの決定は、次のブール値条件の結果によって決まります (true = 退避)。

  • Dehydrate = (EstimatedTime > TestThreshold OR TimeBlocked > (2* TestThreshold))

Note

推定時間は遅延が終了するまでの残り時間です (5 分間と 2 分間の遅延が経過した場合、TimeBlocked=120 秒、EstimatedTime=180 秒です)。

参照

既定の退避プロパティ
BTSNTSvc.exe.config ファイル