SlideShare une entreprise Scribd logo
1  sur  23
Take SharePoint® to new heights.
Consider performance & Security for
SharePoint
© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
About
 Author: Nguyen Tuan Hai
 Team Lead at Bamboo Solutions
 Blog: http://tuan-tomy.blogspot.com
 Twitter: @tuantomy
 Linked: #nsuthaibanhxeo
2© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Getting Start
3© 2013 Bamboo Solutions Corporation
All Rights Reserved
Roll-up data from many sources
Process on large number of items
Take SharePoint® to new heights.
Contents
 Define performance and security issue in project
 Solutions
 Tools to monitor life-cycle and logging
 Demo
 Q&A
4© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Define
Heavy load page
• Product: web part, application
page, custom action…
• Configuration: stand-alone, small
farm, scaled farm, large farm…
• Network: LAN, remote…
• System: IIS, SQL Server
5© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Define
Product
• Bottle-neck (code)
• Large list
• Dispose
• Application pool
6© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Define
Configuration
• Best practice installation
• Load balancing
• Services
• Cache: disk-based BLOB
caching, output cache, bit rate
throttling
7© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Define
Network
• Hardware installation
• Local Area Network
• Distributed database
8© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Define
System
• Recycle application pool
• Indexing configuration on database
• Double-hop of SQL Server
9© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Define
Security
• Code: Cross-site scripting, query
string, injection, validation
page, permission per user…
• Service accounts
10© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Solutions
Indicate the number of artifacts
Scope/narrow down objects
11© 2013 Bamboo Solutions Corporation
All Rights Reserved
Web Parts
WP Page
Media Library
Plain Content
Request
Serve
r
Take SharePoint® to new heights.
Solutions
WebPart
12© 2013 Bamboo Solutions Corporation
All Rights Reserved
Request
Web part
Bottle-neck
Serve
r
Web part List
SP
Application
Timer Job
Serve
rRoll-up data
Take SharePoint® to new heights.
Solutions
BLOB and Caching
13© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Solutions
Query on large list
14© 2013 Bamboo Solutions Corporation
All Rights Reserved
SPQuery query = new SPQuery();
query.RowLimit = 2000;
query.ViewFields = “CAML_Query”;
SPListItemCollection collection;
do
{
collection = list.GetItems(query);
//Processing data
query.ListItemCollectionPosition =
collection.ListItemCollectionPosition;
} while (query.ListItemCollectionPosition != null);
Take SharePoint® to new heights.
Solutions
Cache SharePoint objects
Loop statement
15© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Solutions
Best practice installation
Manage service accounts
16© 2013 Bamboo Solutions Corporation
All Rights Reserved
Take SharePoint® to new heights.
Solutions
Check user permissions appropriately
17© 2013 Bamboo Solutions Corporation
All Rights Reserved
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//TODO: Your Code Here
});
try
{
list.CheckPermissions(SPBasePermissions.ApproveItems);
}
catch (UnauthorizedAccessException ex)
{
//Throw exception here
}
Take SharePoint® to new heights.
Tools
18© 2013 Bamboo Solutions Corporation
All Rights Reserved
 MSOCAF
• Test cases
Take SharePoint® to new heights.
Tools
19© 2013 Bamboo Solutions Corporation
All Rights Reserved
 MSOCAF
• Report result
Download: https://caf.sharepoint.microsoftonline.com/
Take SharePoint® to new heights.
Tools
20© 2013 Bamboo Solutions Corporation
All Rights Reserved
 Developer dashboard
• New feature of SharePoint 2010
Take SharePoint® to new heights.
Tools
21© 2013 Bamboo Solutions Corporation
All Rights Reserved
 Developer dashboard
• Turn on developer dashboard running on demand
$service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$addsetting =$service.DeveloperDashboardSettings
$addsetting.DisplayLevel =
[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand
$addsetting.Update()
• Turn on developer dashboard
• Turn off developer dashboard
$service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$addsetting =$service.DeveloperDashboardSettings
$addsetting.DisplayLevel =
[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On
$addsetting.Update()
$service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$addsetting =$service.DeveloperDashboardSettings
$addsetting.DisplayLevel =
[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::Off
$addsetting.Update()
Take SharePoint® to new heights.
Demo
22© 2013 Bamboo Solutions Corporation
All Rights Reserved
• Dispose SharePoint Objects
• Retrieve data from large list
• Use MSOCAF to check the code
Take SharePoint® to new heights.
References
 References:
• http://msdn.microsoft.com/en-
us/library/gg552614(v=office.14).aspx
• http://www.alachisoft.com/storageedge/sharepoint-
performance-scalability.html
• http://bestofcyber.wordpress.com/2008/10/16/best-coding-
techniques-to-improve-performance-for-sharepoint-applications/
• http://technet.microsoft.com/en-
us/magazine/2009.08.insidesharepoint.aspx
• http://blogs.msdn.com/b/sowmyancs/archive/2008/10/26/best-
practices-sharepoint-object-model-for-performance-tuning.aspx
 Thank you!
23© 2013 Bamboo Solutions Corporation
All Rights Reserved

Contenu connexe

Similaire à Consider performance and security for SharePoint WP/App

SPCSEA 2013 - Upgrading to SharePoint 2013
SPCSEA 2013 - Upgrading to SharePoint 2013SPCSEA 2013 - Upgrading to SharePoint 2013
SPCSEA 2013 - Upgrading to SharePoint 2013
Michael Noel
 
Upgrade tosharepoint2013a mthodicalapproachmn
Upgrade tosharepoint2013a mthodicalapproachmnUpgrade tosharepoint2013a mthodicalapproachmn
Upgrade tosharepoint2013a mthodicalapproachmn
Vickey Bird
 

Similaire à Consider performance and security for SharePoint WP/App (20)

Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
 
Ready, Set, Upgrade!
Ready, Set, Upgrade!Ready, Set, Upgrade!
Ready, Set, Upgrade!
 
SPCSEA 2013 - Upgrading to SharePoint 2013
SPCSEA 2013 - Upgrading to SharePoint 2013SPCSEA 2013 - Upgrading to SharePoint 2013
SPCSEA 2013 - Upgrading to SharePoint 2013
 
Ignatiuz - SharePoint Disaster Recovery
Ignatiuz - SharePoint Disaster RecoveryIgnatiuz - SharePoint Disaster Recovery
Ignatiuz - SharePoint Disaster Recovery
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial Slides
 
Final Presentation
Final PresentationFinal Presentation
Final Presentation
 
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure SetupSharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
 
Mai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPROMai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPRO
 
Upgrade tosharepoint2013a mthodicalapproachmn
Upgrade tosharepoint2013a mthodicalapproachmnUpgrade tosharepoint2013a mthodicalapproachmn
Upgrade tosharepoint2013a mthodicalapproachmn
 
Where the Warehouse Ends: A New Age of Information Access
Where the Warehouse Ends: A New Age of Information AccessWhere the Warehouse Ends: A New Age of Information Access
Where the Warehouse Ends: A New Age of Information Access
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring Boot
 
Open Source, The Natural Fit for Content Management in the Enterprise
Open Source, The Natural Fit for Content Management in the EnterpriseOpen Source, The Natural Fit for Content Management in the Enterprise
Open Source, The Natural Fit for Content Management in the Enterprise
 
Using rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsUsing rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranets
 
SharePoint 2013 on-premise vs Office 365 Online compared
SharePoint 2013 on-premise vs Office 365 Online comparedSharePoint 2013 on-premise vs Office 365 Online compared
SharePoint 2013 on-premise vs Office 365 Online compared
 
SharePoint Saturday Sacramento 2013 SharePoint Apps
SharePoint Saturday Sacramento 2013 SharePoint AppsSharePoint Saturday Sacramento 2013 SharePoint Apps
SharePoint Saturday Sacramento 2013 SharePoint Apps
 
Legacy SharePoint Platform Migrations (2003/2007)
Legacy SharePoint Platform Migrations (2003/2007)Legacy SharePoint Platform Migrations (2003/2007)
Legacy SharePoint Platform Migrations (2003/2007)
 
Streams Studio Support for IBM InfoSphere Streams V4.0
Streams Studio Support for IBM InfoSphere Streams V4.0Streams Studio Support for IBM InfoSphere Streams V4.0
Streams Studio Support for IBM InfoSphere Streams V4.0
 
Dannotes 50 - Collaboration Administration
Dannotes 50 - Collaboration AdministrationDannotes 50 - Collaboration Administration
Dannotes 50 - Collaboration Administration
 
Give Your SharePoint Site a Physical
Give Your SharePoint Site a PhysicalGive Your SharePoint Site a Physical
Give Your SharePoint Site a Physical
 
Config Management and Data Service Deep Dive
Config Management and Data Service Deep DiveConfig Management and Data Service Deep Dive
Config Management and Data Service Deep Dive
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Consider performance and security for SharePoint WP/App

  • 1. Take SharePoint® to new heights. Consider performance & Security for SharePoint © 2013 Bamboo Solutions Corporation All Rights Reserved
  • 2. Take SharePoint® to new heights. About  Author: Nguyen Tuan Hai  Team Lead at Bamboo Solutions  Blog: http://tuan-tomy.blogspot.com  Twitter: @tuantomy  Linked: #nsuthaibanhxeo 2© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 3. Take SharePoint® to new heights. Getting Start 3© 2013 Bamboo Solutions Corporation All Rights Reserved Roll-up data from many sources Process on large number of items
  • 4. Take SharePoint® to new heights. Contents  Define performance and security issue in project  Solutions  Tools to monitor life-cycle and logging  Demo  Q&A 4© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 5. Take SharePoint® to new heights. Define Heavy load page • Product: web part, application page, custom action… • Configuration: stand-alone, small farm, scaled farm, large farm… • Network: LAN, remote… • System: IIS, SQL Server 5© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 6. Take SharePoint® to new heights. Define Product • Bottle-neck (code) • Large list • Dispose • Application pool 6© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 7. Take SharePoint® to new heights. Define Configuration • Best practice installation • Load balancing • Services • Cache: disk-based BLOB caching, output cache, bit rate throttling 7© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 8. Take SharePoint® to new heights. Define Network • Hardware installation • Local Area Network • Distributed database 8© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 9. Take SharePoint® to new heights. Define System • Recycle application pool • Indexing configuration on database • Double-hop of SQL Server 9© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 10. Take SharePoint® to new heights. Define Security • Code: Cross-site scripting, query string, injection, validation page, permission per user… • Service accounts 10© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 11. Take SharePoint® to new heights. Solutions Indicate the number of artifacts Scope/narrow down objects 11© 2013 Bamboo Solutions Corporation All Rights Reserved Web Parts WP Page Media Library Plain Content Request Serve r
  • 12. Take SharePoint® to new heights. Solutions WebPart 12© 2013 Bamboo Solutions Corporation All Rights Reserved Request Web part Bottle-neck Serve r Web part List SP Application Timer Job Serve rRoll-up data
  • 13. Take SharePoint® to new heights. Solutions BLOB and Caching 13© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 14. Take SharePoint® to new heights. Solutions Query on large list 14© 2013 Bamboo Solutions Corporation All Rights Reserved SPQuery query = new SPQuery(); query.RowLimit = 2000; query.ViewFields = “CAML_Query”; SPListItemCollection collection; do { collection = list.GetItems(query); //Processing data query.ListItemCollectionPosition = collection.ListItemCollectionPosition; } while (query.ListItemCollectionPosition != null);
  • 15. Take SharePoint® to new heights. Solutions Cache SharePoint objects Loop statement 15© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 16. Take SharePoint® to new heights. Solutions Best practice installation Manage service accounts 16© 2013 Bamboo Solutions Corporation All Rights Reserved
  • 17. Take SharePoint® to new heights. Solutions Check user permissions appropriately 17© 2013 Bamboo Solutions Corporation All Rights Reserved SPSecurity.RunWithElevatedPrivileges(delegate() { //TODO: Your Code Here }); try { list.CheckPermissions(SPBasePermissions.ApproveItems); } catch (UnauthorizedAccessException ex) { //Throw exception here }
  • 18. Take SharePoint® to new heights. Tools 18© 2013 Bamboo Solutions Corporation All Rights Reserved  MSOCAF • Test cases
  • 19. Take SharePoint® to new heights. Tools 19© 2013 Bamboo Solutions Corporation All Rights Reserved  MSOCAF • Report result Download: https://caf.sharepoint.microsoftonline.com/
  • 20. Take SharePoint® to new heights. Tools 20© 2013 Bamboo Solutions Corporation All Rights Reserved  Developer dashboard • New feature of SharePoint 2010
  • 21. Take SharePoint® to new heights. Tools 21© 2013 Bamboo Solutions Corporation All Rights Reserved  Developer dashboard • Turn on developer dashboard running on demand $service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $addsetting =$service.DeveloperDashboardSettings $addsetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand $addsetting.Update() • Turn on developer dashboard • Turn off developer dashboard $service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $addsetting =$service.DeveloperDashboardSettings $addsetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On $addsetting.Update() $service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $addsetting =$service.DeveloperDashboardSettings $addsetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::Off $addsetting.Update()
  • 22. Take SharePoint® to new heights. Demo 22© 2013 Bamboo Solutions Corporation All Rights Reserved • Dispose SharePoint Objects • Retrieve data from large list • Use MSOCAF to check the code
  • 23. Take SharePoint® to new heights. References  References: • http://msdn.microsoft.com/en- us/library/gg552614(v=office.14).aspx • http://www.alachisoft.com/storageedge/sharepoint- performance-scalability.html • http://bestofcyber.wordpress.com/2008/10/16/best-coding- techniques-to-improve-performance-for-sharepoint-applications/ • http://technet.microsoft.com/en- us/magazine/2009.08.insidesharepoint.aspx • http://blogs.msdn.com/b/sowmyancs/archive/2008/10/26/best- practices-sharepoint-object-model-for-performance-tuning.aspx  Thank you! 23© 2013 Bamboo Solutions Corporation All Rights Reserved