|
| 1 | +--- |
| 2 | +title: Performance |
| 3 | +ms.date: 02/01/2018 |
| 4 | +--- |
| 5 | +# Performance |
| 6 | + |
| 7 | +## Summary |
| 8 | + |
| 9 | +Implementing customizations in SharePoint places an even greater emphasis on effective design and development for web applications in general, and client-side web applications in particular, especially when it comes to the concept of application performance. Performance is one of the important factors that influence user-experience and how efficient users can work with the portal. |
| 10 | + |
| 11 | +## High-level guideline/general rules |
| 12 | + |
| 13 | +- When testing performance, take into account both server-side performance of your code, as well as the performance of your code running in end-users' browsers. |
| 14 | +- Whenever possible cache data to minimize the number of requests to SharePoint. |
| 15 | +- When referencing scripts and other assets, allow users to cache them for as long as possible to minimize the number of requests to the server and the amount of data to load. |
| 16 | +- Avoid excessive DOM manipulation that would trigger re-rendering of the page and delay its loading. |
| 17 | + |
| 18 | +## Available options |
| 19 | + |
| 20 | +### General recommendations |
| 21 | + |
| 22 | +### Handling SharePoint Online throttling |
| 23 | + |
| 24 | +_**Applies to:** Office 365_ |
| 25 | + |
| 26 | +SharePoint Online uses throttling to prevent users from over-consuming resources. When a user runs CSOM or REST code that exceeds usage limits, SharePoint Online throttles any further request from the user for a period of time. |
| 27 | + |
| 28 | +#### Related resources |
| 29 | + |
| 30 | +##### Articles |
| 31 | + |
| 32 | +- [Handle SharePoint Online throttling by using exponential back off](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/handle-sharepoint-online-throttling-by-using-exponential-back-off) |
| 33 | +- [Avoid getting throttled or blocked in SharePoint Online](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online) |
| 34 | + |
| 35 | +##### Samples |
| 36 | + |
| 37 | +- [SharePoint Online Throttling](https://github.com/SharePoint/PnP/tree/master/Samples/Core.Throttling) |
| 38 | + |
| 39 | +### SharePoint Framework |
| 40 | + |
| 41 | +_**Applies to:** Office 365 | SharePoint Server_ |
| 42 | + |
| 43 | +#### Related resources |
| 44 | + |
| 45 | +##### Articles |
| 46 | + |
| 47 | +- [Optimize builds for production](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/toolchain/optimize-builds-for-production) |
| 48 | +- [JavaScript Patterns and Performance](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/javascript-patterns-and-performance) |
| 49 | +- [Make batch requests with the REST APIs](https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/make-batch-requests-with-the-rest-apis) |
| 50 | +- [SharePoint Framework (SPFx) enterprise guidance](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/enterprise-guidance) |
| 51 | +- [Use existing JavaScript libraries in SharePoint Framework client-side web parts](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/use-existing-javascript-libraries) |
| 52 | +- [Use the Office 365 content delivery network (CDN)](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/office-365-cdn) |
| 53 | + |
| 54 | +### SharePoint Add-ins |
| 55 | + |
| 56 | +_**Applies to:** Office 365 | SharePoint Server_ |
| 57 | + |
| 58 | +The approaches you take to ensure optimal performance with SharePoint is different in the new SharePoint Add-in model than it was with Full Trust Code. In a typical Full Trust Code (FTC) / Farm Solution scenario most code operations took place in the SharePoint Server-side Object Model code. |
| 59 | + |
| 60 | +#### Related resources |
| 61 | + |
| 62 | +##### Articles |
| 63 | + |
| 64 | +- [JavaScript Patterns and Performance](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/javascript-patterns-and-performance) |
| 65 | +- [Performance considerations in the SharePoint add-in model](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/performance-considerations-sharepoint-add-in) |
| 66 | +- [Improve performance in SharePoint provider-hosted add-ins](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/improve-performance-in-sharepoint-provider-hosted-add-ins) |
| 67 | +- [Make batch requests with the REST APIs](https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/make-batch-requests-with-the-rest-apis) |
| 68 | + |
| 69 | +##### Videos |
| 70 | + |
| 71 | +- [Office Dev PnP Web Cast – JavaScript performance considerations with SharePoint](https://dev.office.com/blogs/javascript-performance-considerations-with-sharepoint) |
| 72 | + |
| 73 | +##### Samples |
| 74 | + |
| 75 | +- [Caching examples](https://github.com/SharePoint/PnP/tree/master/Samples/Performance.Caching) |
| 76 | + |
| 77 | +### Portals |
| 78 | + |
| 79 | +_**Applies to:** Office 365 | SharePoint Server_ |
| 80 | + |
| 81 | +#### Related resources |
| 82 | + |
| 83 | +##### Articles |
| 84 | + |
| 85 | +- [Proven Practices for SharePoint Online Portals - Performance](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/portal-performance) |
| 86 | +- [Proven Practices for SharePoint Online Portals - Navigation Solutions](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/portal-navigation) |
| 87 | +- [JavaScript Patterns and Performance](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/javascript-patterns-and-performance) |
| 88 | +- [Optimize page performance in SharePoint](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/optimize-page-performance-in-sharepoint) |
| 89 | + |
| 90 | +##### Videos |
| 91 | + |
| 92 | +- [Learn how to build a fast, responsive SharePoint portal in SharePoint Online](https://www.youtube.com/watch?v=tD3mkbfhIbM) |
0 commit comments