Windows Server AppFabric Caching Beta1 Migration

Microsoft

Windows Server AppFabric Caching Beta1 Migration

“Velocity” CTP3 to AppFabric Beta1 migration

 

 

 

Rama Ramani

 

 

 

 

 

This guide provides a drilldown of the new changes in Beta1 with a set of steps required to migrate your “Velocity” CTP3 deployment to the Windows Server AppFabric Caching Beta1 bits

 


 

 

Table of Contents

App Fabric Overview.. 3

What is “Velocity” CTP3?. 3

Migrating from CTP3. 3

Beta1. 4

New Features Overview.. 4

Performance Monitor Counters. 4

Security Enhancements. 4

New Replication Port. 4

Updates to the Installation Program.. 5

New API 5

Installation requirements. 5

Platform requirements. 5

Install component. 5

Pre-requirements. 6

Setup & Config. 6

Error. 8

Security settings. 8

Error Message. 8

Server changes. 9

Client changes. 10

Performance Impact. 11

Perfmon. 11

Category. 12

Host counters. 13

Total Data Size*. 13

Total Cache Misses. 13

Total Get requests. 14

Total Get misses. 14

Cache Miss Percentage. 14

Total Read requests. 15

Total objects returned. 15

Total Write Operations. 15

Total Client Requests *. 16

Total Requests Served. 16

Total Expired Objects*. 17

Total Evicted Objects*. 17

Total Memory Evicted*. 17

Total eviction runs*. 18

Total Failure Exceptions. 18

Total Retry Exception. 18

Total Notification Poll Requests. 18

Total Notification Delivered. 19

Total GetAndLock Requests. 19

Total Successful GetAndLock Requests. 19

Average Quorum Response Time*. 20

Average Secondary Response Time*. 20

Cache counters. 20

Total Data Size*. 20

Total Cache Misses. 21

Cache Miss Percentage. 21

Total Read requests. 21

Total objects returned. 22

Total Write Operations. 22

Total Client Requests. 22

Total GetAndLock Requests. 23

Total Successful GetAndLock Requests. 23

Secondary Host Counter. 23

Total Replication Retries*. 23

 


 

App Fabric Overview

Windows Server AppFabric delivers a set of capabilities for hosting services (RESTful or SOAP-based), workflows, and application-level monitoring. This allows developers to spend more of their time developing their applications by removing much of the complexity associated with maintaining the application infrastructure. For more information about Windows Server AppFabric see Introducing Dublin and Velocity (http://go.microsoft.com/fwlink/?LinkId=179136) and Windows Server AppFabric (http://go.microsoft.com/fwlink/?LinkId=179043) on MSDN.

One of the challenges of composite applications is scaling as the needs of the business grow. AppFabric’s distributed in-memory caching technology (previously code-named “Velocity”) caches data in the middle tier of a composite application to deliver faster performance and greater reliability (through high availability of cached data across a fabric of servers). This provides elastic scale as the number of users grows, without the need to move to larger, more expensive server architectures.

For an in-depth overview of the caching features in Windows Server AppFabric see Introduction to Caching with Windows Server AppFabric (Beta 1) (http://go.microsoft.com/fwlink/?LinkId=164828).

What is “Velocity” CTP3?

A stand-alone CTP version of the AppFabric caching was released under the codename “Velocity”. The functionality from CTP3 has been enhanced and packaged as an integrated Windows Server AppFabric starting with Beta1.

This transition from a standalone codenamed project to delivery as a component of Windows Server AppFabric is an important milestone and an appropriate time to retire the codename. Moving forward this technology will be delivered as a feature of Windows Server AppFabric

Migrating from CTP3

There is no upgrade from CTP3 à Beta1. Please follow the manual instructions below for migrating from CTP3 to Beta1

·         Export cluster configuration by running the following command using the PowerShell admin tool

 

Ff381375.image001(en-us,MSDN.10).jpg

·         Backup the web.config from the developer (client) machines

 

·         Uninstall CTP3

 

·         Install and Configure Beta1 following instructions from Setup and Configuration

Beta1

 

New Features Overview

Performance Monitor Counters

Velocity CTP4 provides performance monitor counters that can be used to measure and analyze multiple aspects of Velocity cache cluster performance.

Security Enhancements

The cache host Windows service now runs under a lower-privileged account: Network Service. To simplify deployment, the installation program now helps to configure the permissions of installation folders and the cluster configuration storage location. You still need to be an administrator on the cache servers and cluster configuration storage location in order to install Velocity.

New Replication Port

The addition of a new replication port with CTP4 has implications for configuration and management of a Velocity cache host cluster.

Updates to the Installation Program

Velocity can now be configured as only a service node, only an Administration node, or both a service and Administration node. To streamline deployment, the installation program now supports automated installation for the cache host.

New API

Velocity CTP4 introduces the following API changes:

·         BulkGet API: The DataCache.BulkGet method returns objects for the specified keys from the specified region of the cache.

·         BulkNotification API: The DataCache.AddCacheLevelBulkCallbacks method adds a bulk cache notification callback for cache operations occurring on all regions and items.

·         Functionality for using tags with default regions.

·         Exception granularity provided with the Substatus method of the DataCacheException class

·         Functionality to create and remove regions through the CreateRegion and RemoveRegion methods of the DataCache type.

·         The DataCacheFactory constructor has changed which has implications for programmatic use of this constructor.

 

Windows Server AppFabric Beta 1 is available for download athttp://go.microsoft.com/fwlink/?LinkId=179044.

Installation requirements

 

Platform requirements

Note: Starting with Beta1 there is no support for Windows Server 2003 installations. This is due to the fact that the integrated installer is based on CBS (Component based servicing) whereas Windows Server 2003 utilizes MSI technology.

Platform

Setup package

Windows Vista SP2 and Windows Server 2008 SP2 x64

AseSetup_amd64_6.0.exe

Windows 7 and Windows Server 2008 R2 x64

AseSetup_amd64_6.1.exe

Windows Vista SP2 and Windows Server 2008 SP2 x86

AseSetup_x86_6.0.exe

Windows 7 x86

AseSetup_x86_6.1.exe

 

Install component

Choose the appropriate component of the Distributed Cache:

Control

Description

Worker

Application server components that enable you to reliably host and manage WF/ WCF applications

Distributed Cache Service

The distributed cache service and related components that enable you to prepare this host as a Distributed Cache Service, turning the server into the node of a cache cluster. You can create a new cache cluster or join this host to an existing cluster of Distributed Cache Services.

Distributed Cache Client

The client libraries that enable you to use Distributed Cache functionality in your applications

Distributed Cache Admin

Components that enable you to administer a Distributed Cache cluster.

 

Pre-requirements

 

Control

OS

.NET version

Distributed Cache Service

Windows Server 2008 SP2

 

.NET 3.5 SP1 or .NET 4.0 Beta2

Distributed Cache Client

Windows Server 2008 SP2

Windows 7

Windows Vista SP2

.NET 3.5 SP1 or .NET 4.0 Beta2

Distributed Cache Admin

Windows Server 2008 SP2

PowerShell V2

 

NOTE: Beginning with the Beta2 version, the .NET framework requirements will change as follows. The Cache Service will require .NET 4.0 to be installed and Cache Clients developed using .NET 3.5 SP1 will be supported.

Setup andConfiguration

 

Please refer to the Application Server Extensions for .NET 4 Installation Guide (http://go.microsoft.com/fwlink/?LinkId=169172) and ensure your system satisfies the ‘CheckList’ criteria mentioned in the document.

With Beta1, there are a set of steps for completing the installation of Windows Server AppFabric.  Refer to the “Installing the Distributed Cache Features” section in the Installation guide.

Shown below are some sample screen shots to walkthrough the installation process

Ff381375.image002(en-us,MSDN.10).jpg

Ff381375.image003(en-us,MSDN.10).jpg

 

Ff381375.image004(en-us,MSDN.10).gifNote

The specified configuration store needs to exist prior to configuration.

 

When configuring the Distributed Cache settings, entering a non-existent local file share or specifying a SQL Server database that does not exist, will cause configuration to fail. When this occurs, the failure for Distributed Cache configuration is reported on the results page of the setup wizard. Detail of the failed configuration are logged in the Distributed Cache configuration error log, located at %temp%\ DistributedCacheAppServerConfig<timestamp>.log.

To ensure that configuration succeeds, perform one of the steps listed below:

 

Configuration Type

Steps

New cluster with XML Provider

Specify an existing network share such as \\ServerName\CacheShare.

Join existing cluster with XML Provider

·      Specify an existing network share such as \\ServerName\CacheShare.

·      Ensure that the clusterconfig.xml file is present at the specified network share.

New cluster with SQL Provider

Manually create a new database using the name specified in the connection string.

Join existing cluster with SQL Provider

Ensure that the database specified in the connection string already exists and is accessible.

 

Ff381375.image004(en-us,MSDN.10).gifNote

When using the XML Provider, you must expand the Network item in the browse dialog box, select a computer, and then select a network file share present on that computer if you want to browse to a network location.  Manually typing in a network location using the format \\computername\mycachefileshare and then selecting Browse will not display the specified location.

Error

In case of any error, review the setup and configuration logs. The configuration file can be found in the %TEMP% directory and the file name has the format “DistributedCacheAppServerConfig(<TIMESTAMP>)”.log

Security settings

Security options are a new feature in Beta1. Follow the instructions below to setup security correctly for communication between AppFabric Cache clients and the Cache server.

Error Message

Microsoft.Data.Caching.DataCacheException: ErrorCode<ERRCA0022>:SubStatus<ES0006>:There is a temporary failure, please retry after some time. (One or more specified cache servers are unavailable, which could be caused by busy network or servers. Please ensure security permission has been granted for this client account on cluster and ensure that cache service is allowed through firewall on all cache hosts. Retry later)

   at Microsoft.Data.Caching.DataCacheFactory.Initialize()

   at Microsoft.Data.Caching.DataCacheFactory.CreateCacheFactory(EndpointID[] servers, Boolean routingClient, Boolean localCache, DataCacheLocalCacheSyncPolicy syncPolicy, Int32 localCacheTimeout, Int32 pollInterval, Int64 objectCount, Int32 masterTimeout, TimeSpan channelOpenTimeout, DataCacheSecurity dataCacheSecurity)

   at Microsoft.Data.Caching.DataCacheFactory..ctor(DataCacheServerEndpoint[] servers, Boolean routingClient, Boolean localCache)

 

Server changes

·         If cluster is running, from the powershell admin tool stop the cluster using ‘Stop-CacheCluster’ command.

·         From the powershell admin tool, do an ‘Export-CacheClusterConfig’ to a file

·         Open the above file and add the following section inside the ‘datacache’ section, but outside of any other section:

<advancedProperties>

<securityProperties mode="Transport" protectionLevel="Sign" />

</advancedProperties>

Ff381375.image004(en-us,MSDN.10).gifNote

 If you are within a secured environment and do not need the new security functionality, you can replace the configuration with <securityProperties mode="None" protectionLevel="None" />. Applying this setting will retain the CTP3 behavior.

·         Save the file.

·         Perform an ‘Import-CacheClusterConfig’ of this file back into the cluster. [You can verify that the correct config is getting into the cluster by doing ‘Export’ again].

·         Use the powershell admin tool to grant permission for the particular group or user account

 

Ff381375.image005(en-us,MSDN.10).jpg

 

·         Start the cluster.

 

Here is a sample XML file after all the changes have been applied:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

    <configSections>

        <section name="dataCache" type="Microsoft.Data.Caching.DataCacheSection, CacheBaseLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

    </configSections>

    <dataCache size="Small">

        <caches>

            <cache type="partitioned" consistency="strong" name="myCache">

                <policy>

                    <eviction type="lru" />

                    <expiration defaultTTL="10" isExpirable="true" />

                </policy>

            </cache>

        </caches>

        <hosts>

            <host replicationPort="22236" arbitratorPort="22235" clusterPort="22234"

                hostId="1863956339" size="1228" leadHost="true" account="redmond.corp.microsoft.com\CACHETEST$"

                name="CACHETEST" cacheHostName="DistributedCacheService"

                cachePort="22233" />

        </hosts>

        <advancedProperties>

            <securityProperties>

                <authorization>

                    <allow users="testdomain\testusers" />

                    <allow users="testdomain\testadmins" />

                </authorization>

            </securityProperties>

        </advancedProperties>

    </dataCache>

</configuration>

Client changes

The Velocity clients need to reflect the corresponding security settings. So in the web.config, make the following changes:

<dataCacheClient deployment="routing">

    <localCache isEnabled="true" sync="NotificationBased" ttlValue="300" />

   <clientNotification pollInterval="300" />

    <hosts>

    <host name="localhost" cachePort="22233" cacheHostName="DistributedCacheService"/>

    </hosts>

    <securityProperties mode="Transport" protectionLevel="Sign"/>

  </dataCacheClient>

 

The security settings can also be modified via code. Here is an example used to disable security:

DataCacheSecurity security = new DataCacheSecurity(DataCacheSecurityMode.None, DataCacheProtectionLevel.None);

CacheManager.cacheFactory = new DataCacheFactory(servers, true /*routingClient*/, false /*localCache*/, 0, DataCacheLocalCacheSyncPolicy.TimeoutBased, 0, 0, security);

 

Ff381375.image004(en-us,MSDN.10).gifNote

 Security failure within an ASP.NET session client is not diagnosable

Performance Impact

Customers moving from CTP3 to Beta1, will see a performance dip of about 30% when security is enabled.  This is due to the impact of employing message signing to avoid man in the middle attacks. Depending on the deployment topology, you can choose the right security option.

Ff381375.image004(en-us,MSDN.10).gifNote

 To disable message signing and to retain the authorization, you can setup the config file at server and client as follows:

<securityProperties mode="Transport" protectionLevel="None" />

Perfmon

Starting with Beta1, a rich set of performance monitor counters are available for monitoring.

Performance counter can be enabled ordisabled and a sample interval can be set by using following configuration element in the service configuration file.

<dataCacheConfig hostName="service-host-name"

    <performanceMonitor isEnabled="true" sampleInterval="950"/>

</dataCacheConfig>

 

Ff381375.image004(en-us,MSDN.10).gifNote

 By default Performance Monitor counters are enabled. Disabling Performance Monitor is not recommended.

Here is a screenshot of the Performance Monitor tool:

Ff381375.image006(en-us,MSDN.10).jpg

Category

Velocity provides three Performance Monitor categories.

 Host

A category for single-instance performance counters pertaining to a single cache host. Host counters track information such as total active connections and total client requests for a cache host.

Perfmon Category Name: Distributed Cache:Host

Perfmon explain string: A category for single-instance performance counters pertaining to a single cache host.

Cache

A category for multiple-instance performance counters pertaining to all caches in host. Each instance of a cache counter corresponds to a separate named cache in the Host.

Perfmon Category Name: Distributed Cache:Cache

Perfmon explain string: A category for multiple-instance performance counters pertaining to all caches in host.

Secondary Host

This counter will be of multiple instance type and each instance will represent a secondary server

Perfmon Category Name: Distributed Cache:Secondary Host

Perfmon explaination string: This counter will be of multiple instance type and each instance will represent a secondary server.

 Host counters

Host counters provide host level information including overall information about throughput and resource usage. It combines primary and secondary information.

In future, this category may be divided into Primary and Secondary host category to capture information in finer detail.

 

Total Data Size*

Represents the total size of cached data in Velocity, not including cache overhead. Indicates the current data memory usage of the server.

Unit of this counter is Mega Bytes.  This counter includes memory on secondary and primary cache on the host.

Counter Name

Counter Type

Perfmon Explain String

Total Data Size Mbytes

NumberOfItems64

Represents the total size of cached data in the cache, not including cache overhead. Indicates the current data memory usage of the server.

 

Total Cache Misses

The total number of unsuccessful cache requests per second since the service has started. This provides information about how efficiently the cache is being used.

Counter Name

Counter Type

Perfmon Explain String

Total Cache Misses

NumberOfItems64

The total number of unsuccessful cache requests since start of cache service.

Total Cache Misses /sec

RateOfCountsPerSecond64

The total number of unsuccessful cache requests per second since start of cache service.

 

Total Get requests

The number of Get request received from all clients since service has started. Cache is mainly designed for read operation. This counter along with Total Client Request Counter will give information about usage pattern of cache.

Counter Name

Counter Type

Perfmon Explain String

Total Get Requests

NumberOfItems64

The number of Get requests received from all clients since service has started.

Total Get Requests /sec

RateOfCountsPerSecond64

The number of Get requests per second received from all clients since service has started.

 

Total Get misses

The number of Get misses from all clients since service has started.

Applicable: Host

Type: NumberOfItems64, RateOfCountsPerSecond64

Counter Name

Counter Type

Perfmon Explain String

Total Get Misses

NumberOfItems64

The number of Get misses from all clients since start of cache service.

Total Get Misses /sec

RateOfCountsPerSecond64

The number of Get misses per second from all clients since start of cache service.

 

 

Cache Miss Percentage

The ratio of number of unsuccessful cache requests to the total number of request since the service has started. This provides information about how efficiently the cache is being used. This is a ratio of the sum of misses to total number of requests since the service has started.

RawFraction

Counter Name

Counter Type

Perfmon Explain String

Cache Miss Percentage

RawFraction

The percentage of unsuccessful cache requests to the total number of request since start of cache service.

Base Cache Miss Percentage

RawBase

Base counter for Cache Miss Percentage

 

Total Read requests

The Thenumber of read request received from all clients since service has started. It gives information about how many operation are of read type. Bulk Get, Get and enumeration are part of read operation. Enumeration works on Batching (pre-fetching) of Object. Every ‘Current’ call in enumerator doesn’t translate to read request on server. Number of Object returned by enumerator can be obtained from ‘Total objects returned ‘counter. Number of read request for an enumeration depends on size of objects returned by the enumeration.

Counter Name

Counter Type

Perfmon Explain String

Total Read Requests

NumberOfItems64

The number of read requests (Bulk Get, Get and Enumeration) received from all clients since start of cache service.

Total Read Requests /sec

RateOfCountsPerSecond64

The number of read requests (Bulk Get, Get and Enumeration) received per second from all clients since start of cache service.

 

Total objects returned

The number of objects returned by read to client. This counter along with total read requests counter shows success of read operation.

Counter Name

Counter Type

Perfmon Explain String

Total Objects Returned

NumberOfItems64

The number of objects returned by client read requests. This counter along with total read requests counter indicates the success of read operations.

Total Objects Returned /sec

RateOfCountsPerSecond64

The number of objects returned by client read requests per second.

 

Total Write Operations

The number of write request since service has started. It includes put, add and lock APIs. This counter along with read request counter shows polarity of cache toward write or read operations. This counter includes write operation on secondary also. Write operation includes Add, Put, GetAndLock, Unlock, PutAndlock, ResetTimeout and replicated secondary operation

Counter Name

Counter Type

Perfmon Explain String

Total Write Operations

NumberOfItems64

The number of write requests since start of cache service. Put, Add and Lock methods are included with write operations.

Total Write Operations /sec

RateOfCountsPerSecond64

The number of write requests per second since start of cache service. Put, Add and Lock methods are included with write operations.

 

Total Client Requests *

The total number request sent by the client. It includes all API calls. This counter along with total requests served will give information how good server is performing with incoming request. Secondary operation request is not included in this counter. Since this counter gives throughput of server, it is made thread safe. 

Counter Name

Counter Type

Perfmon Explain String

Total Client Requests

NumberOfItems64

The total number of client requests, including all API calls.

Total Client Requests /sec

RateOfCountsPerSecond64

The total number of client requests per second, including all API calls.

 

Total Requests Served

It is counter for number of request served and response sent by server since server has started. This will give an idea about throughput of server. Secondary operation served is not included in this counter.

Counter Name

Counter Type

Perfmon Explain String

Total Requests Served

NumberOfItems64

The number of request served and responses sent by the server since start of cache service.

Total Requests Served /sec

RateOfCountsPerSecond64

The number of request served and responses sent by the server per second since start of cache service.

 

 

Total Expired Objects*

This counter stores the number of expired object since the service has started. This counter does not include the number ofobjects that have expired in secondary hosts.

Counter Name

Counter Type

Perfmon Explain String

Total Expired Objects

NumberOfItems64

The total number of expired objects since the cache service was last started.

 

Total Evicted Objects*

This counter stores the number of evicted objects since the cache service was last started. This counter does not include the number ofobjects that have been evicted in secondary hosts.

Counter Name

Counter Type

Perfmon Explain String

Total Evicted Objects

NumberOfItems64

The total number of evicted objects since the cache service was last started.

 

Total Memory Evicted*

Indicates the amount of memory freed from the cache since the cache service was last started. Unit of this counter is in bytes. This counter also includes expired object memory. Note that it is possible for Total memory evicted (bytes) to be non zero even if the value of Total eviction runs is zero. This includes only primary cache memory eviction.

Counter Name

Counter Type

Perfmon Explain String

Total Evicted Objects

NumberOfItems64

The amount of memory freed from cache since the cache service was last started. This counter also includes expired object memory.

 

Total eviction runs*

The number of eviction runs since the start of the cache service. This counter may be used in conjunction with the Total Memory Evicted counter to help troubleshoot memory issues. Note that it is possible for Total memory evicted (bytes) to be non zero even if the value of Total eviction runs is zero.

Counter Name

Counter Type

Perfmon Explain String

Total Eviction Runs

NumberOfItems64

The number of eviction runs since the cache service was last started.

 

Total Failure Exceptions

Indicates how many Application Server Cache exceptions are being thrown by server since the cache service was last started. Since exceptions are a costly operation, it is useful to know the number of exceptions to help analyze reductions in server throughput.

Counter Name

Counter Type

Perfmon Explain String

Total Failure Exceptions

NumberOfItems64

The number of exceptions thrown by the server since the cache service was last started.

Total Failure Exceptions/sec

RateOfCountsPerSecond64

The number of exceptions per second that are being thrown by the server since the cache service was last started.

 

Total Retry Exception

The total number of retry operation exceptions since the cache service was last started.

Counter Name

Counter Type

Perfmon Explain String

Total Retry Exception

NumberOfItems64

The total number of retry operation exceptions since the cache service was last started.

Total Retry Exception /sec

RateOfCountsPerSecond64

The total number of retry operation exceptions per second since the cache service was last started.

 

Total Notification Poll Requests

The number of poll request from client since the cache service was last started.  This information may be useful for helping to adjust the polling interval.

Counter Name

Counter Type

Perfmon Explain String

Total Notification Poll Requests

NumberOfItems64

The total number of poll request from client since the cache service was last started.

Total Notification Poll Requests /sec

RateOfCountsPerSecond64

The total number of poll request per second from client since the cache service was last started.

 

Total Notification Delivered

The number of notification delivered to the client since the cache service was last started.

Counter Name

Counter Type

Perfmon Explain String

Total Notification Delivered

NumberOfItems64

The number of notifications delivered to clients since the cache service was last started.

Total Notification Delivered /sec

RateOfCountsPerSecond64

The number of notifications per second delivered to clients since the cache service was last started.

 

Total GetAndLock Requests

The total number of GetAndLock request since service has started.

Counter Name

Counter Type

Perfmon Explain String

Total GetAndLock Requests

NumberOfItems64

The total number of GetAndLock requests since start of cache service.

Total GetAndLock Requests /sec

RateOfCountsPerSecond64

The total number of GetAndLock requests per second since start of cache service.

 

Total Successful GetAndLock Requests

The number of GetAndLock requests succeeded since the cache service was last started.

Counter Name

Counter Type

Perfmon Explain String

Total Successful GetAndLock Requests

NumberOfItems64

The number of GetAndLock requests succeeded since the cache service was last started.

Total Successful GetAndLock Requests /sec

RateOfCountsPerSecond64

The number of GetAndLock requests succeeded per second since the cache service was last started.

 

Average Quorum Response Time*

This counter gives average time spent in quorum response since the cache service was last started. This provides information about how much time for write operations is spent in replication.

Counter Name

Counter Type

Perfmon Explain String

Average Quorum Response Time / operation Microsecond

AverageCount64

The average time spent in quorum response since the cache service was last started. It indicates amount of time spent by write operations in replication.

Base Average Quorum Response Time / operation

AverageBase

Base counter for Average Quorum Response Time / operation

 

Average Secondary Response Time*

This counter gives average time spent in all secondary response since the cache service was last started.

Counter Name

Counter Type

Perfmon Explain String

Average Secondary Response Time / operation Microsecond

AverageCount64

The average time spent to get response from all the secondary servers.

Base Average Secondary Response Time / operation

AverageBase

Base counter for Average Secondary Response Time / operation.

 

Cache counters

Velocity has following counters under the Perfmon cache category.

Total Data Size*

This counter will represent the total size of cached data in the cache. It does not include cache overhead. It shows the current data memory usage of Cache. This counter is measured in megabytes and includes secondary and primary cache memory on the host.

Counter Name

Counter Type

Perfmon Explain String

Total Data Size Mbytes

NumberOfItems64

Represents the total size of cached data in the cache, not including cache overhead. Indicates the current data memory usage of the server.

Total Cache Misses

The total number of requests that couldn’t find the key in cache since the cache service was last started. This provides information about how efficiently cache is being used.

Counter Name

Counter Type

Perfmon Explain String

Total Cache Misses

NumberOfItems64

The total number of unsuccessful cache requests since the cache service was last started.

Total Cache Misses /sec

RateOfCountsPerSecond64

The total number of unsuccessful cache requests per second since the cache service was last started.

 

Cache Miss Percentage

The ratio of number of request that couldn’t find the key to total number of request since the cache service was last started. This provides information about how efficiently cache is being used. It is a ratio of sum of misses to total number of request since the cache service was last started. This value is returned as a percentage.

Counter Name

Counter Type

Perfmon Explain String

Cache Miss Percentage

RawFraction

The percentage of unsuccessful cache requests to the total number of request since the cache service was last started.

Base Cache Miss Percentage

RawBase

Base counter for Cache Miss Percentage

 

Total Read requests

The number of read request received from all clients since the cache service was last started. It provides information about how many operation are of read type. Bulk Get, Get and enumeration are part of read operation.  

Counter Name

Counter Type

Perfmon Explain String

Total Read Requests

NumberOfItems64

The number of read requests (Bulk Get, Get and Enumeration) received from all clients since the cache service was last started.

Total Read Requests /sec

RateOfCountsPerSecond64

The number of read requests (Bulk Get, Get and Enumeration) received per second from all clients since the cache service was last started.

Total objects returned

The number of objects returned by read to client.

Counter Name

Counter Type

Perfmon Explain String

Total Objects Returned

NumberOfItems64

The number of objects returned by client read requests since the cache service was last started. This counter along with total read requests counter indicates the success of read operations.

Total Objects Returned /sec

RateOfCountsPerSecond64

The number of objects returned by client read requests per second.

 

 

Total Write Operations

The number of write request since the cache service was last started. It includes put, add and lock operations. This counter along with read request counter indicates polarity of cache toward write or read operations. This counter also includes write operation on secondary hosts.

Counter Name

Counter Type

Perfmon Explain String

Total Write Operations

NumberOfItems64

The number of write requests since the cache service was last started. Put, Add and Lock methods are included with write operations.

Total Write Operations /sec

RateOfCountsPerSecond64

The number of write requests per second since the cache service was last started. Put, Add and Lock methods are included with write operations.

 

Total Client Requests

The total number request sent by the client since the cache service was last started. It includes all API calls. This counter along with total requests served will give information how good server is performing with incoming request. A large difference between the Client Request and Request Served counter values may be an indication of a problem on server.

Counter Name

Counter Type

Perfmon Explain String

Total Client Requests

NumberOfItems64

The total number of client requests, including all API calls since the cache service was last started.

Total Client Requests /sec

RateOfCountsPerSecond64

The total number of client requests per second, including all API calls since the cache service was last started.

 

Total GetAndLock Requests

The total number of GetAndLock request since the cache service was last started.

Counter Name

Counter Type

Perfmon Explain String

Total GetAndLock Requests

NumberOfItems64

The total number of GetAndLock requests since the cache service was last started.

Total GetAndLock Requests /sec

RateOfCountsPerSecond64

The total number of GetAndLock requests per second since the cache service was last started.

 

Total Successful GetAndLock Requests

The number of GetAndLock request succeeded since the cache service was last started. Lower success rate of GetAndLock will result in reduced application performance.

Counter Name

Counter Type

Perfmon Explain String

Total Successful GetAndLock Requests

NumberOfItems64

The number of GetAndLock requests succeeded since the cache service was last started.

Total Successful GetAndLock Requests /sec

RateOfCountsPerSecond64

The number of GetAndLock requests succeeded per second since the cache service was last started.

 

Secondary Host Counter

 

Total Replication Retries*

This counter gives the total number of retry replication operation for each secondary server. This helps determine secondary servers with low response time.

Counter Name

Counter Type

Perfmon Explain String

Total Replication Retries

NumberOfItems64

The total number of retry replication operations for each secondary server.

 

Show: