none
Poor performance (read / Write) of Windows Server AppFabric

    Întrebare

  • I am doing a POC on AppFabric. I found it very slow. Below are my development env configuration

    Server : Windows Server 2008 with 4 GB Memory, .NET 3.5 / 4.0, Single Node

    Client : WinXp, WC# .Net WinForms applicatin to read / write / view the data

    I put 3,00,000 object into it  (using Put() method) which took around 25 minutes of time.

    I read them back (using Get() method) in around 20 minutes of time.

    I found even DB retrival is quite fast then the AppFabric. Also is there any API avaliavle which can be used to query objects in Cache. Rightnow am using simple Get()  with while loop to get all of my objects.

    Can anyone help in this regard?

    Thanks

    Vipin

    5 martie 2012 11:16

Toate mesajele

  • Hi Vipin,

    Can you provide some more data here:

    1. What is the total size of data ?
    2. How large are the objects ? The max and average size of the object will be helpful to diagnose the issue.
    3. Did you see any errors on the client while using the API ?

    For checking the performance, you can use the Perfmon counters on the server to monitor different parameters like request/sec and read/writes per second to get an idea around the rate at which the server is processing the requests.

    Please provide the above data, we can then try to narrow down the reason for the processing time taken for all the requests.

    Thanks

    Rohit Bisht

    6 martie 2012 03:19
  • Hi Rohit,

    Thanks for your reply. Here is the data.

    1.What is the total size of data ? ===> Approx 25 MB
    2.How large are the objects ? The max and average size of the object will be helpful to diagnose the issue.
    ===> Avg object size Approx 2.1 KB. Max size I have to find out by some way.
    3.Did you see any errors on the client while using the API ?===>  N

    Other statistics
    ==========
    1. Total Client Requests /sec : Avg = 368, Max = 5663
    2. Total Objects Returned /sec : Avg = 122, Max = 445
    3. Total Read Requests /sec : Avg = 122, Max = 445
    4. Total Write Operations /sec : Avg = 122, Max = 1165
    5. Total Object Count: 12023 

    Rohit, I also like to know, is there any API available If I like to read cached objects depending upon some filtered value (not a key). For ex. Get all the object having Students.Marks > 100 from AppFabric Cache?

    Thanks

    Vipin


    • Editat de VIPG 6 martie 2012 09:23
    6 martie 2012 08:40
  • You cannot do query operations, like the ones you mentioned above, on cache. [Please have a look at regions in Cache which might be of some use.]

    What is the client configuration in your app like the MaxConnections to server, is DataCacheFactory singleton [usually its suggested to have a single DataCacheFactory], what about the threads in your client application which can create contention on the client side.

    Which version of Appfabric server are you using 1.0 or 1.1?

    Thanks

    6 martie 2012 18:34
  •  I don't want to go for Regions, as they stick to one node only. I wanted my data avaailabe across all the nodes.
    7 martie 2012 03:31