Performance on Getting and Putting a large Object

Domanda Performance on Getting and Putting a large Object

  • quinta-feira, 10 de maio de 2012 10:22
     
     

    I am running AppFabric on a standalone machine with 8GB Ram, Intel i7 Q840@1.87GHz.

    Basically I'm a bit disappointed by the time it take to Put and Get an object to the AppFabric cache.  In testing to put an object of 4589448 bytes into the cache it's taking 4-5 seconds and to retrieve the same object takes roughly 7 seconds.  

    There is nothing else running on the machine and my tests have all been single threaded so there will be no concurrency issues.

    When I enabled Local cache the get operation took about a second less.  Are there any more optimizations settings I can set to increase performance.

    I'm testing retrieving a large data set from a SQL server DB, compressing it then adding to the cache.  At the moment it's far quicker to return the data directly from the DB than from AppFabric.

Todas as Respostas

  • sexta-feira, 11 de maio de 2012 06:15
     
     

    Hi,

    Is your client also on the same box or is it on a different box accessing through a n/w. If this is the case whats the speed of n/w connectivity b/w client and server. Also can you please explain how you are measuring the latency? (How many ops and is this the average latency number etc..)

    Which version of AppFabric caching you are using ?

    If not already done can you please try with switching OFF security (you can use command let 'Set-CacheClusterSecurity') and also check if any logging is turned on.

    Thanks

    Arun


    arunks

  • sexta-feira, 11 de maio de 2012 08:26
     
     

    Hi,

    The client is on the same box, there is no network involved at all.

    I'm basically looping over a period of time doing continuous puts then continuous gets.  The tests are single threaded so concurrency isn't coming into play.

    The results are the same with security on or off on both the client and server. Logging is not on (if by logging you mean tracelog).

    My setup is as simple as you can get. A single machine, single client, single cache, single region testing getting and putting just one object.

    The cache health indicates 100% healthy.  I could be interested to know if this is the optimum performance that I can expect?

    I've also tried splitting my object into smaller objects and adding to the cache and then reassembling after getting them back from the cache, however there was no noticeable difference.