locked
Local SharePoint Client API Performance vs Server API? RRS feed

  • Question

  • How does the performance of the SharePoint Client API (Microsoft.SharePoint.Client) compare with the traditional Server API when running locally on a SharePoint 2010 Server?

    Examples:
    • Querying large lists
    • Returning large result set
    • Bulk insert
    • Bulk update

    Is the Client API only recommended for remote applications or is it a good idea to always use the Client API from a de-coupled point-of-view?

    I see you can improve performance of the Client API by batching requests but I'm more interested in a Server API performance comparision.
    Wednesday, November 25, 2009 7:03 AM

Answers

  • First, this is beta software so performance metrics are meaningless. There will be optimizations made between now are release.

    Second, realize that the client requests are sent to a WCF service, which translates those into server calls. So, you have two intermediate layers, plus network latency.

    I would imagine that server-side code will be faster.
    Wednesday, November 25, 2009 1:36 PM
  • You are advised not to use the Client OM on the SharePoint Server. This is primarily due to the WCF remoting layer causing extra overhead and the possibility of issues related to connecting to the SharePoint server on a load balanced farm environment from one of the server.

    Please note that in the End User License Agreement for beta software Microsoft does not allow publishing of performance data. This is because we will improve the performance by RTM and we don't want old beta performance results to taint the product. Please hold your performance testing until RTM.

    Regards,
    Paul


    SharePoint Product Manager. Posting is provided "AS IS" with no warranties, and confers no rights
    • Marked as answer by Peter_D503 Sunday, December 13, 2009 6:16 AM
    Sunday, December 13, 2009 1:48 AM

All replies

  • Hmm... if you want the power of LINQ to SharePoint, you have to run locally. Thanks to Will Lawrence's blog post for this: "You should be using the Server OM and LINQ to SharePoint when you are developing on the server."

    I'm still interested in any performance comparisions however simply to gauge the Client API's overall performance. Be great if a new 2010 version is created for this document with the Client API and LINQ to SharePoint added: "White paper: Working with large lists in Office SharePoint Server 2007 ".


    • Proposed as answer by Darrin Bishop Friday, December 11, 2009 6:41 AM
    Wednesday, November 25, 2009 8:30 AM
  • First, this is beta software so performance metrics are meaningless. There will be optimizations made between now are release.

    Second, realize that the client requests are sent to a WCF service, which translates those into server calls. So, you have two intermediate layers, plus network latency.

    I would imagine that server-side code will be faster.
    Wednesday, November 25, 2009 1:36 PM
  • Naturally. But by how much?

    Hopefully after release we'll see some meaningful metrics of the various technologies.
    Wednesday, November 25, 2009 1:44 PM
  • You are advised not to use the Client OM on the SharePoint Server. This is primarily due to the WCF remoting layer causing extra overhead and the possibility of issues related to connecting to the SharePoint server on a load balanced farm environment from one of the server.

    Please note that in the End User License Agreement for beta software Microsoft does not allow publishing of performance data. This is because we will improve the performance by RTM and we don't want old beta performance results to taint the product. Please hold your performance testing until RTM.

    Regards,
    Paul


    SharePoint Product Manager. Posting is provided "AS IS" with no warranties, and confers no rights
    • Marked as answer by Peter_D503 Sunday, December 13, 2009 6:16 AM
    Sunday, December 13, 2009 1:48 AM
  • Thanks Paul.
    Sunday, December 13, 2009 6:17 AM