Windows Server AppFabric缓存服务的几点实用心得

缓存服务占用内存超大的问题,修改HOST的参数设置可解决。

1、使用命令Export-CacheClusterConfig导出集群配置,修改其中host元素的size属性。

       <hosts>
            <host replicationPort="22236" arbitrationPort="22235" clusterPort="22234"
                hostId="1178671922" size="2047" leadHost="true" account="XXXX/SR-AF-01$"
                cacheHostName="AppFabricCachingService" name="SR-AF-01" cachePort="22233" />
        </hosts>

2、修改完后停止集群Stop-CacheCluster,再用命令Import-CacheClusterConfig导入配置,再启动集群Start-CacheCluster。

3、正式使用后遇到缓存大对象时报错,原因是超过了单个缓存对象容量上限,解决方法当然是修改客户端容量上限配置(web.config)了,具体见下。

    <!--分布式缓存-->
    <dataCacheClient>
        <hosts>
            <host
                name="sr-af-01"
                cachePort="22233" />
        </hosts>
        <securityProperties
            mode="None"
            protectionLevel="None" />
        <transportProperties
            connectionBufferSize="131072"
            maxBufferPoolSize="268435456"
            maxBufferSize="268435456"
            maxOutputDelay="2"
            channelInitializationTimeout="60000"
            receiveTimeout="600000" />
    </dataCacheClient>

 

缓存服务由多台服务器构成时,推荐使用Sql Server来管理集群,重新配置AppFabric时可指定使用Sql Server来保存集群配置信息。

可是,还需要将每台Host的配置修改一下,步骤同上,将Host元素的leadHost属性设为"false"就好了,还要确保leadHostManagement也设置为"false"。具体请见MSDN:http://msdn.microsoft.com/zh-cn/library/ee790895.aspx

 

这样配置之后,缓存服务器可单独重启,不影响使用。

 

强烈推荐先把MSDN资料阅读一遍:http://msdn.microsoft.com/zh-cn/library/ff384253.aspx

你可能感兴趣的:(Windows Server AppFabric缓存服务的几点实用心得)