locked
Appfabric and enterprise cache - Slow Appfabric performance RRS feed

  • Question

  • We have appfabric on the same webserver. What I noticed that, Appfabric is considerably slow compared to enterprise cache. Here's the comparision :
    Is there any way to improve appfabric performance?  Thanks
    Appfabric :

    Loop number: 999, item size: 32767, testType: A
    Start Test2() at 11/18/2011 10:40:43 AM
    Start Get Cache Manager at 11/18/2011 10:40:43 AM
    End Get Cache Manager at 11/18/2011 10:40:48 AM
    Get Cache Manager duration 00:00:05.6784364
    Start Flush Cache at 11/18/2011 10:40:48 AM
    End Flush Cache at 11/18/2011 10:40:50 AM
    Flush Cache duration 00:00:01.6536106
    Start Write AppFabric Cache at 11/18/2011 10:40:50 AM
    0
    100
    200
    300
    400
    500
    600
    700
    800
    900
    End Write Cache at 11/18/2011 10:40:54 AM
    Write Cache duration 00:00:04.4304284
    Start Read Cache at 11/18/2011 10:40:54 AM
    0
    100
    200
    300
    400
    500
    600
    700
    800
    900
    End Read Cache at 11/18/2011 10:41:04 AM
    Read duration 00:00:09.0480580
    End Test2() at 11/18/2011 10:41:05 AM
    Test2() duration 00:00:22.4797441
    -------------------------------------------------------------------------------
    Enterprise cache :

    Loop number: 999, item size: 32767, testType: E
    Start Test1() at 11/18/2011 10:42:05 AM
    Start Write AppFabric Cache at 11/18/2011 10:42:05 AM
    0
    100
    200
    300
    400
    500
    600
    700
    800
    900
    End Write Cache at 11/18/2011 10:42:05 AM
    Write Cache duration 00:00:00
    Start Read Cache at 11/18/2011 10:42:05 AM
    0
    100
    200
    300
    400
    500
    600
    700
    800
    900
    End Read Cache at 11/18/2011 10:42:05 AM
    Read duration 00:00:00.0156001
    End Test1() at 11/18/2011 10:42:05 AM
    Test1() duration 00:00:00.3900025

    Friday, November 18, 2011 3:56 PM

All replies

  • Is this comparison with .NET in process cache ?

    AppFabric has local cache support. If you enable local cache, frequently used data can be kept in local cache in memory of application. This can boost the performance of your application.

    Wednesday, November 23, 2011 11:37 AM
  • Thanks Arun.

    We will eventually would like to use distributed cache feature (thus local cache will be off). The above sampling is for a single host. In this scenario, we have Appfabric installed on the same workstation where webserver is also running. Cache size in above example is 1024 bytes.

    We are doing POC for Appfabric. Without good performance, it would be very difficult to make Appfabric as one of our choices.

    Is there any other way to boost appfabric performance? Will installing appfabric on h-iavailability give the required performance improvement? Any 'switches' or config changes (on appfabric) we should try?

    Thanks in advance.

    Wednesday, November 23, 2011 3:24 PM
  • Any updates? Thanks.
    Thursday, November 24, 2011 6:42 PM
  • As mentioned earlier, due to lack of help and no further communication, we assume, this is known issue with AppFabric. We will evaluate other available products.

    BTW, Is there any MS technical helpline (specially for Appfabric), in Canada, to help us resolve this ASAP?

    Friday, November 25, 2011 7:46 PM
  • Sorry for replying late.

    You have mentioned size as 1024 bytes . Is this individual data size ? For data size of 1K , 1000 Read operations are taking ~22 seconds ? This is not expected . Overall should be < 1 sec for 1K cache operations(assuming size is 1K). Can you please share your test application ? We will take a look at this and let you know .

     

    Thanks

    Arun

    Monday, November 28, 2011 5:05 AM
  • I am also interested in knowing the reason behind AppFabric's performance issues.  We currently run a website which at this point has 2 8GB Windows Server 2008 R2 (64-bit) servers dedicated to running as AppFabric nodes and the CPUs never go over 24% even at peak times, which leads me to believe AppFabric isn't even coming close to the full potential at which it could perform.  I've done as much optimizing in the code as possible, but it definitely seems that our database server is outperforming AppFabric by leaps and bounds, which you think the opposite would be the case.  

    What happens is when we start to hit harder (we'll get spurts of about 1600 users online simultaneously) and we'll get errors such as either "The connection was terminated, possibly due to server or network problems or serialized Object size is greater than MaxBufferSize on server. Result of the request is unknown." or "The request timed out.".  I know for a fact it's not the MaxBufferSize, and I've even added the "MaxConnectionsToServer" to the <dataCacheClient> node in the Web.config and set it to 5 on each of the 3 web servers we have and also have local cache enabled on top of that.

    This is a production environment, and our site is only getting busier by the day, so the timeouts are fairly frustrating since I've taken out hundreds of calls to the cache just to try and accommodate its "moving target" requirements for being useful to the whole infrastructure at all. Any insight would be greatly appreciated, and same as M Perry, I'd like to know if there's any hidden settings we can increase to have AppFabric more responsive to high traffic situations.

    A couple of other things to mention, we are also using the same AppFabric servers to store Session values as well.  But again, AppFabric really doesn't seem to be able to handle high load (if it can be called high when the CPU only goes up to about 15%, and RAM down to 60% of its total of 8GB, before it starts throwing timeouts).  Very very disappointing experience thus far, I'm hoping there's a tweak somewhere we can increase the number of simultaneous requests against the cache much like I had to do for concurrentRequestsPerCPU in the aspnet.config file.
    • Edited by iced_t Tuesday, November 29, 2011 6:04 PM Missed additional details
    Monday, November 28, 2011 1:40 PM
  • Yes, you can call microsoft support to open a support case.

     

    By the way, running AppFabric server and web server on a same machine is not supported.  http://msdn.microsoft.com/en-us/library/ee790954.aspx.

     

    Thanks.

    Friday, December 9, 2011 5:47 PM