space
Previous Page | Next Page

Tuning Tips for Applications That Use SAS/SHARE Software

Overview of Tuning Tips for Applications That Use SAS/SHARE Software

This paper was originally presented at SUGI 18. Since that time, client/server applications have become more common. The paper is being updated and presented again because there is a growing audience interested in tuning their client/server applications.

This paper will give you some ideas to help you develop SAS applications that make the most efficient use of concurrent access to SAS files. Because this audience consists of people with different amounts of experience developing applications that use concurrent access to data, the first part of the paper will focus on overviewing the general model for accessing data in SAS. The later parts of the paper will draw on the general data model to describe how to tune a client/server application.

Since introducing SAS/SHARE software in 1987, SAS has compared two contrasting images to show the additional capability that SAS/SHARE software brings to SAS. One image shows a user's SAS session accessing files directly; the other image shows a user's SAS session connected to a server's session and the server's session accessing the files directly. The essential difference is that the data in a file that is accessed through a server travels through two SAS sessions whenever it is accessed. Of course, a server controls concurrent access to the data that is read and written through it, so its overhead has an important purpose. But it is important to remember that data accessed through a server requires more computing resources than data accessed directly.

One or more servers can execute at the same time on a single computer or in a network of computers. You can use different servers for different applications, or you can use a few servers to distribute the load of many applications.

When you use more than one server, each server performs only part of the work load. This allows each server to respond to requests more quickly. On the other hand, every process on a computer requires a certain amount of overhead simply to exist, and servers are no different from other processes in this regard. You must balance the performance improvement that using multiple servers gives your users against the increased load on your system as more servers execute. The later parts of this paper will discuss measuring how much work a server is doing; you can use that information to determine when to add or delete servers.

space
Previous Page | Next Page | Top of Page