Table of Contents

Enum StorageHealthState

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

How the page cache keeps up with the work given to it (#1382). The engine does not fail the work for being slow: an allocation that waits on back-pressure goes on waiting while pages are being served, and the state says so — so a workload too large for the cache and the disk it was given is seen, not silently slowed. Reported in the log on every change, in the profiler's gauges and in the resource tree, and readable from StorageHealth.

public enum StorageHealthState

Fields

Healthy = 0

No back-pressure: allocations find a slot at once.

Overloaded = 2

Back-pressure for over a second: the work is slowed for long. The cache or the disk is too small for the load, or the load too high.

Pressured = 1

Back-pressure: some allocations wait for the checkpoint to write pages back, or for older transactions to let pages go.

Starved = 3

Allocations wait and no page has been served for over a second: nothing is getting through. A wait that sees no page served for a whole back-pressure timeout gives up with PageCacheBackpressureTimeoutException.