1

I have an issue (I think) with my SharePoint 2010 ADO.NET Data Services.

I understand that using Data Services is an extra layer and as such might inhibit performance a little, but I was not expecting what I found.

I am running SharePoint 2010 in a VMWare machine on an SSD drive (Windows 2008 R2).

Currently, requesting mt lists of lists takes 0.5 seconds consistently, even though it's only a collection of 20 list names:

http://localhost:99/sites/blah/_vti_bin/ListData.svc

Using the Server Object Model, this takes 0.05 seconds. ADO.NET seems to be 10x slower Obviously the overhead might be flat and at higher volumes plateau at a 0.4 second overhead regardless. But it's still slow in my opinion.

I have done a lot of tests of serializing XML, custom WCF services etc. and nothing seems to indicate that such a small results set should take so long to load.

Any suggestions would be incredibly welcome!!

Or is this the performance I should expect??

What do other people get?

Many thanks

1 Answer 1

1

My experience has been that the Client OM (at least for JavaScript) is a bit faster than the List Data service, but the performance differences for most queries has been very close. Certainly not the kind of difference you are seeing, but I never specifically measured the $metadata operation.

Normal List Data queries against a list are just mapped to the underlying Linq provider and executed using native SharePoint CAML. In this regard, the List Data service is a relatively thin layer over native SharePoint functionality.

When you invoke the root ListData.svc to return the lists on the site, you are invoking the $metadata operation of OData, and the List Data Service has to create and format the AtomPub feed for that operation custom. There is no native SharePoint equivalent. I suspect that is what is taking the extra time.

1
  • Thanks for the feedback. I get this half second delay on any request, it's a bit baffling. Jun 16, 2011 at 9:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.