Optimizing Performance

<< Click to Display Table of Contents >>

Navigation:  ApolloServer >

Optimizing Performance

Tips to get the best performance from Apollo Database Server, do the following:

Leave the Event Monitor off (unchecked) during normal operations. Only use the Apollo Database Server's Event Monitor when required for debugging purposes. This tracking and reporting of server-side events is resource intensive, especially the After Client Process event.

Apollo Database Server has been designed to take full advantage of the latest high-performance processors available, such as the new Intel Pentium III and equivalent Athlon chips from AMD – including server systems using dual processors. Client applications will see much faster response when querying result sets from a high-end server box – running a PIII @ 500 MHz or higher with 128Mb RAM or more. These are not minimum requirements, but Apollo Database Server is designed to perform better on higher end systems.

When performing tests where the client application and Apollo Database Server are running on the same PC, keep in mind that the same PC would be splitting its resources between the client and server processes. This will affect the overall performance. More accurate performance testing can be done when the Apollo Database Server is running on its own dedicated high-end PC with the remote client(s) connecting from other PCs.

When using SQL SELECT statements from an Apollo client application, only request the minimal fields from the table that you actually plan to use from that query. For example, if the table contains 100 fields, but you are only looking for the first and last names of customers over 65 in California, using the following expression would not be very efficient:

 SELECT * FROM Test WHERE (Age > 50) AND (State = 'CA')

This would retrieve 98 other fields that you are not planning to use. Instead, a more efficient query would be:

 SELECT First, Last FROM Test WHERE (Age > 50) AND (State = 'CA')

SQL queries are optimized on the server using all available indexes matching the fields used in the WHERE and/or ORDER BY clauses. For example, using the expression from the previous item, available individual indexes built on the AGE and/or STATE fields would have improved the speed of the query on the server.

If you are experiencing delays in getting a response from an Apollo Database Server located on a remote Internet web server, you can use the TRACERT.EXE and PING.EXE utilities (included with Windows). These utilities will check the number of hops your connection is having to take between the client PC and the server PC, as well as the length of time it is taking to get a response.

When connecting to an Apollo Database Server on a remote Internet web server, remember that the maximum speed the communication can achieve is limited to the slowest point in the link. For example, if Apollo Database Server is running on a web server attached to a dedicated T1 line, but your client application is running on a PC using a 33k modem, then your maximum possible speed is 33k. For optimal performance, try to insure that both the server and the clients are connected to the fastest possible connections available to you.