Suspend/Resume NCache Data Persistence
A Distributed Cache with Persistence enables you to store data to a persistence store. NCache provides you with PowerShell cmdlets that allow you to Suspend and then Resume persisting data to your persistence store provided that your store type is a Distributed Cache with Persistence. The main purpose of these cmdlets is to allow you to stop writing data to the backend store while you are performing some actions on the backend store, for example taking a backup or moving the store to a new location. However, there are some precautions you should be aware of.
This feature is only available in NCache Enterprise Edition.
Firstly, you should only use these cmdlets when the volume of traffic is low on your cache. The reason for this being is that when you suspend data persistence on the persistence store, the cache still remains functional. During this time, operations can still be performed on the cache in-memory. This means that all pending operations on the persistence store will be placed in the persistence queue. Now, if the volume of operations is high on the cache, the persistence queue will fill up quickly. This will cause memory issues, which in return will hamper the overall performance of your cache.
Secondly, you need to ensure that while your data persistence to the persistence store has been suspended, no configuration change takes place (node add/remove/join/leave) that might trigger state transfer on the cache. This will cause some complications.
Lastly, you need to ensure that the persistence store is running on at least one node before you suspend and later on resume data persistence.
The Suspend-NCacheDataPersistence cmdlet suspends or halts the action of data being sent or persisted on the persistence store. As stated above, you should use this cmdlet whenever you want to make a backup & restore of your persistence store.
The following command suspends data persistence on the persistence store for the cache demoCache.
Suspend-NCacheDataPersistence -CacheName demoCache
The Resume-NCacheDataPersistence cmdlet resumes or restarts the action of data being sent or persisted on the persistence store. You should use this cmdlet when you want to restart or resume persisting data on your persistence store.
The following command resumes data persistence on the persistence store for the cache demoCache.
Resume-NCacheDataPersistence -CacheName demoCache