| Article Index |
|---|
| SharePoint Solutions |
| Managing SharePoint |
| Development Tips |
| TIP 1: Server Resources |
| TIP 2: End-User Experience |
| TIP 3: Storage Hierarchy |
| Recommended Resources |
| All Pages |
If your .NET enhanced SharePoint application is suffering from performance and availability challenges, WE WOULD LOVE TO HELP. Absolute Performance offers expert SharePoint and .NET application performance optimization and management services.
MS SharePoint Services
At Absolute Performance, we're experts in managing, and optimizing MS SharePoint and its underlying infrastructure to help you make your MS SharePoint development and custom applications objectives a reality. Our MS SharePoint Case Study shows how we solved the problems of one of our largest enterprise customers.
Our MS SharePoint Management Services include:
- Proactive maintenance of MS SharePoint application
- Comprehensive database tuning and maintenance optimization
- Web server analysis and tuning
- Application server analysis and tuning
End-user response time before optimization
Absolute Performance System Shepherd® - Ensure Application Performance in SharePoint Development and Deployment
- Worried about your new application scaling?
- End-users driving you crazy with response time issues?
- Want to stop receiving those calls at 3am?
- Prefer to focus on new application development?
These are the questions we solve every day for our business customers. Absolute Performance has technology and managed services to support the mission of the application development team, the mission of releasing new products, and services to meet the demands of your end-users.
In development environments, Absolute Performance introduces a new paradigm for testing applications in development and deployment with its technologies - System Shepherd®, StressWalk™, and WebWalk™.
- Operational Readiness Services and pre-production scaling tests ensure successful deployment of data management logic and transaction loads.
- Application Performance Management lets developers instrument their SharePoint applications to report performance details.
- End-User Experience Validation ensures rapid resolution before a phone call reaches the development team.
Top 3 Things to be Aware of with MOSS and SharePoint Development
SharePoint makes it very easy to develop custom application -- TOO EASY. What is an IT staff to do about it?
IDC surveyed 300 SharePoint users and found 61% were deploying enterprise-wide. A further 28% of those using SharePoint in departments are now expected to expand usage to the enterprise within the next 12 months.Given the rapid speed of this adoption, IT departments have become more aware and concerned about their managed approach to SharePoint.
Taking the MOSS Plunge to Maximize SharePoint Delivery ...
1. Server Resources
Make certain your servers are not resource constrained. They will take more memory than you might first expect. The code needs to be optimized from the beginning. The server is constrained by resources required to meet the constant demands of indexing, work flow, and task list generation.
Most architects often place the largest, most powerful hardware at the back-end of an application deployment with SQL. For SharePoint, however, server-processing power is required at the web front-end for crawling content and serving user requests.
Different SharePoint functions have a wide range of resource needs and performance.
- Simple functions (events, announcements, home page) consume minimal CPU and I/O resources and have "sub-second" response times
- Moderate functions (search, doclib browsing, viewing document) take more CPU and/or I/O resources and typically have response times of "a few seconds"
- Complex functions (check-out/in, uploading) can take more significant CPU and I/O resources and have response times that can be "many seconds"
Summary - Build with Measurement and Management
Optimization of resources in a SharePoint deployment is critical to support end-user growth, content, and complexity. More RAM and more servers is not the best answer for long-term ROI on your SharePoint program. More RAM and more servers is also not the only solution for maintaining end-user performance. By using tools that combine real-time testing of end-user performance against application infrastructure, development teams are best able to optimize investments and maintain end-user performance.
2. End-User Experience
Browser interactions are key to optimizing end-user performance. Be certain to track real-time performance at the end-user level and check it against performance at the application, database, and IT infrastructure levels.
In 2007, a Forrester Research survey of 195 CIOs showed that businesses are aware of the risk of performance problems. But, they're not doing a good job of proactively preventing these problems. For 87 percent of the respondents, consistent, end-to-end performance was one of their top three issues and their most important challenge. It's not enough to have fast performance - they want it consistently, all the time.
It is critical to have a tool to provide real-time end-user experience feedback with the application deployment process. Tracking, measuring, and monitoring this data enables your operations team to see a problem before it significantly affects the productivity of the critical users of the SharePoint application.
SharePoint Critical Metrics
Even more important than tracking this end-user experience is the ability to correlate that experience to the infrastructure and application itself in order to diagnose and correct problems. But with over 600 metrics, what do you track? Through our experience with the SharePoint application, we have found that the below list of metrics are th most critical in the management of application performance.
By managing critical application metrics, we can then correlate the data against end-user experience to quickly isolate and resolve problems as well as offering support services to optimize ongoing performance. This process ensures delivery of highly reliable SharePoint applications that are aligned with business goals.
| Data Classes | Data Point Highlights |
| SharePoint Directory Store Statistics | Pending Replication Synchronization Renaming Replication Updates Replication Updates Per Second |
| SharePoint Information Store Statistics | User Count Average Delivery Time Average Time for Local Delivery Send Queue Size Message Opens Per Second Folder Opens Per Second |
| SharePoint Message Transport Agent Statistics | Work Queue Length Messages Per Second Connection Queue Length |
| Redirector Statistics | Current Commands Network Errors Per Second Reads Denied Per Second Writes Denied Per Second Server Sessions Hung |
| Server Statistics | Sessions Errored Out Work Item Shortages Pool Paged Peak Non-Paged Pool Failures |
| Miscellaneous Statistics | Event Log Critical Errors Critical Process Availability Memory Leaks Exchange Database Free Space Exchange Log Free Space |
3. Storage Hierarchy
In an operational environment, the document repository and collaboration are traditional uses of MOSS. Separate content just like a storage hierarchy. Have a scheduled process to move less-used content into a separate content database.
Don not underestimate storage requirements. For SharePoint deployments, for every 1GB of data, set aside 5-6GB of storage capacity. If you don't adequately size your disk space, you'll be forever adding space at inconvenient times.
For large deployments, additional content databases should be created at the development phase of your SharePoint custom application. A separate content database should be used for all of the sites except for the default portal site, which uses the first content database. You can do this during initial installation and deployment by adding one or more content databases for the portal site, and limiting the default content database containing the portal site to one site.
Most collaboration content has aged significantly over 30-90 days depending on the application and usage. Determine the business requirements of your end-users in order to develop a storage hierarchy based on the planned usage. This may vary by each site application.
TO store the aged files, move them to a backup file server and then update the file location in SQL so the new location is hidden from the user and they don't even know it has been moved. Conversely, documents on older, slower storage that have been accessed recently can be moved back to the faster storage.
SharePoint's architecture does have some cost and scalability limitaions when it comes to disk usage and management, largely due to SQL Databases and the limitaion of Site Collections for content databases. So how can we move less valuable documents onto less expensive disk hardware?
In SharePoint, you must implementa COM interface (called the EBS Provider) to keep these two stores in sync. The COM interface recognizes file Save and Open commands and invokes redirection calls to the EBS. The EBS Provider also ensures that thte SQL Server content database contains metadata references to their associated BLOB streams in the external BLOB store. You install and configure the EBS Provider on each web front-end server.
By creating these additional databases and storage in advance, you can structure a storage hierarchy based on the system usage that will ensure application performance and end-user productivity for successful SharePoint application delivery.
Leverage management technologies that understand the complexities of SharePoint development. Absolute Performance System Shepherd® is a platform that has been used to develop, troubleshoot, and perfect SharePoint performance.Recommended Resources:
SharePoint Application Management for Developers ![]()


