开发者

AppFabric Cache connection type and protocol

开发者 https://www.devze.com 2023-03-07 14:42 出处:网络
Do开发者_开发百科es the AppFabric cache API (local, not Azure) use WCF as its communications mechanism?We are integrated AppFabric into a very high volume web application and seeing a ton of bottlenec

Do开发者_开发百科es the AppFabric cache API (local, not Azure) use WCF as its communications mechanism? We are integrated AppFabric into a very high volume web application and seeing a ton of bottlenecks in some WCF calls. The profiler makes it seem like these are coming from our cache library, but they are all very low level system calls, so we are curious..

is appfabric cache accessed via a set of straight up set of TCP sockets connections? or are they some higher level protocols/designs that are layered on top of it? Appfabric has a lot of benefits beyond other providers (like memcached), but if there protocol overhead is so much on a high-volume system, we are worried it may cause problems.

thanks!


Yes it uses WCF under the covers. More specifically it uses binary message encoding over the tcp transport all with custom configured settings which I'm sure were selected by the AppFabric caching team after tons of load testing scenarios. It also has security enabled by default (transport and message signature/encryption) which will definitely add some CPU overhead. You can disable these if you're sure you're network design is secure.

Security tends to add a lot of overhead and, if you've provided a secure environment for your cache cluster/client apps, you should try to do away with it. Check out the section titled "Security Settings" on this MSDN page for more details on how to configure the client. Also check out the section titled "Cluster Configuration Storage Location Settings" on this MSDN page for details on how to configure security on the host (note: you can set these easily with the Set-CacheClusterSecurity PowerShell command).


AppFabric's distributed cache and local cache aspects use WCF, yes. Are you using perfmon? WCF and AppFabric Cache both offer perfmon counters that should let you pin this down precisely. And if you're using local cache, are you using notifications? That of course would increase chattiness.

When accessing the cache, are you doing a lot of locking? That seems to degrade AppFabric Cache performance greatly in my experience.

Also, Windows security, and Sign or EncryptAndSign protection, incur sizable penalties as well.


Totally agree with what Drew said.

I would like to think the communication part is already optimized for performance and should not be a bottleneck as such.

You may also want to take a look at this case study for Windows Server AppFabric's caching performance http://www.griddynamics.com/images/files/af_cache_benchmarking_1.4.pdf

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号