Plan Visio Services deployment (SharePoint Server 2010)
Applies to: SharePoint Server 2010
Best practices for deploying Visio Services include performance planning, using a pilot program, monitoring your deployment, and backing up your data.
As an integrated part of Microsoft SharePoint Server 2010, Visio Services in Microsoft SharePoint Server 2010 is very easy to deploy. Planning your Visio Services deployment before rollout can help give you the best system performance and user satisfaction, and help you better manage system resources in your SharePoint Server farm and related systems.
Visio Services performance
Visio Services is implemented by using the Visio Graphics Service, which runs on one or more application servers in the farm. Like all such services, this service consumes resources such as processing capacity and memory on each server where the service is running. For detailed information about how to estimate capacity requirements for Visio Services, see Estimate performance and capacity requirements for Visio Services in SharePoint Server 2010.
System performance of application servers that are running the Visio Graphics Service may be affected by various factors such as the following:
The size of the Web drawings being rendered
The number of drawings connected to a data source
The performance of the data sources to which Web drawings are connected
The frequency of data refresh for data-connected Web drawings
Peak loads of users who are accessing Web drawings
Peak loads on external data sources accessed by Web drawings
Complexity of Web drawings
The Web drawing size limit and refresh parameters can be adjusted by the administrator. Being able to adjust these parameters can help you adjust the performance of the server. If changing these parameters does not provide the desired performance, you may have to add processing capacity or memory.
When planning system resources for Visio Services, the most important factor is peak load. For example, if users will make heaviest use of the Visio Services functionality early Monday morning, plan your server capacity for that peak load. Peak load times can vary widely depending on how Visio Services is used within your organization. It is important to estimate peak loads as best as possible to avoid overtaxing system resources.
If your SharePoint Server farm has multiple application servers, each potentially running multiple services, you must decide which application server or servers that you want to run the Visio Services Service on. When determining this, look at the other SharePoint Server 2010 services that are running on each application server. When do the peak loads for each other service occur? Try to select an application server where the peak loads of other services occur at different times than those of Visio Services.
Besides peak load considerations, also consider the overall load of other services that are running on the same server. Some SharePoint Server services, such as Search, might benefit from their own application servers that are not shared by other loads such as Visio Services. Others, such as Access Services, might be ideal companion loads for Visio Services depending on usage patterns.
In addition to SharePoint Server performance considerations, you should also examine the performance impact of Visio Services on your other systems. For example, if you have a data-connected Web drawing that is querying data from an Oracle database, what is the effect of your Visio Services peak load on that Oracle database? Large numbers of users querying any data source at the same time could put a strain on the resources of that data source.
The following best practices can be used to optimize the performance of Visio Services:
Monitor the performance of the application servers in the farm and add CPU and memory if they are needed to handle peak loads.
Start the Visio Graphics Service on more than one application server in the farm to gain additional performance.
Run the Visio Graphics Service on an application server where other services experience peak load at a different time of day than the Visio Graphics Service.
Limit the maximum Web drawing size.
Increase the minimum cache age for Web drawings. This increases the interval in which a user sees cached data for a particular Web drawing.
Visio Graphics Service applications
SharePoint Server implements Visio Services through the Visio Graphics Service running on one or more application servers in the farm. It is within the Visio Graphics Service Application that you configure the various Visio Services settings, such as trusted data providers and drawing cache settings.
For many deployments, a single Visio Services Service Application is sufficient. However, SharePoint Server lets you create multiple service applications of each type if you want (for example, if you need to use different data sources that require different global settings or a different unattended service account within Visio Services).
Using a pilot deployment
To help determine capacity requirements for Visio Services, consider rolling Visio Services out to a limited pilot group that is representative of typical users. Giving a fairly small number of people access to Visio Services functionality lets you monitor server resource usage and effect on related systems, such as external data sources, without overtaxing system resources.
Once you have compiled performance data for the pilot group, you can extrapolate system requirements for Visio Services when you deploy it across your whole organization. The pilot data will also help you determine peak load requirements and times when peak loads are likely to occur.
By monitoring other affected systems — such as data sources used by data connected Web drawings — you can also determine the likely effect of Visio Services on other systems in your organization.
We highly recommend that you monitor system resources consumed by Visio Services — alongside the other services in your SharePoint Server. It is typical for resource usage to increase over time as additional users are brought online and existing users make more use of Visio Services and other SharePoint Server technologies.
The SharePoint Server services architecture enables easy addition of application servers to the farm. As user demands increase, you can continue to add servers to the farm, and offload services — including Visio Services — to these new servers. Or, instead of offloading Visio Services to a new server, you can run the Visio Services service on multiple application servers at the same time to provide additional capacity and redundancy.
By monitoring resource usage, you can predict when additional capacity is likely to be needed and include the needed hardware in your organization's regular budgetary procedures. This also helps avoid system downtime or slow response caused by unexpectedly high server loads.
Backup and recovery of data
Visio Services settings and Visio documents stored in SharePoint Server libraries can be backed up by the farm administrator when doing a standard farm backup. However, be aware that if you publish Visio documents that are connected to data sources that are outside the farm, the data to which the Visio documents are connected is not backed up as part of a standard farm backup. In this case, the administrator of the system where the data resides should perform a separate backup procedure.
Visio Professional 2010 and Visio Premium 2010 deployment
Visio Services lets you display Visio drawings using a Web Part without the need to have Microsoft Visio 2010 installed on the client computer. However, Visio Services does not allow for creating or editing Visio diagrams. As part of your deployment plan for Visio Services, you should also plan for the needs of diagram authors within your organization. Each diagram author who has to publish to Visio Services must have a copy of Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010.
Visio Professional 2010 or Visio Premium 2010 is required for publishing to SharePoint Server. Microsoft Visio Standard 2010 and previous versions of Visio cannot publish to the server.