- The Oracle Stack
- Tests
- Recommendations/Standards and Conclusions
Recommendations/Standards
Synchronize buffer sizes.
The application must have the capability to determine the array size.
Implement indexing method to read Tnsnames.ora file.
Conclusions
Based on the preceding results, changing the SDU parameter makes a significant difference in transmitting time independent of ULP. A LAN analyzer reports that the size of the data packets is 350 bytes. The default array size is 15 and each row in the stats table is 20 bytes.
Example
[15 (array_size) * 20 (bytes row size)] + 10 (bytes SQL*Net header) + 40 (bytes TCP/IP header) = 350 bytes (2)
Since the minimum value of SDU (1 kilobyte) is greater than 350 bytes, changing the SDU value did not affect the lower levels, which were able to absorb all the data without fragmentation. A product of row size and array size plus SQL*Net header greater than 1 kilobyte would cause fragmentation. Calibrating the SDU parameter does not improve performance (connect time).
Example
If row size is 100 bytes, according to (2) a frame of 1550 bytes would be produced. If the SDU is 1 kilobyte, the results would be ((950 data + 10 SQL*Net header + 40 TCP/IP header = 1000) + (550 data + 10 SQL*Net header + 40 TCP/IP header 600)) = 1600 bytes. This is where the fragmentation occurs.
Based on the preceding results, implementing a network application (client/server) is a complex and tedious process because the efficiency of the application depends on many other external factors.
A network application developer must understand the stack paradigm in order to design an efficient client/server application. Also, in order to have an efficient environment, it is very important to select the proper ULP, LLP, and network hardware implementation.
Thus, performance is based on raw length of a table as well as datatype. Connect time and query time are independent of each other, but total performance is based on these two components.
Synchronizing SQL*Net, ULP, and LLP buffer sizes produces the optimum client/server performance. SQL*Net should be intelligent enough to adjust its buffer size automatically according to UNP buffer size. UNP should have the capability to synchronize its buffer with LLP. Having two different parameters (SDU/TDU) complicates the situation because the smaller of the two determines the buffer size, so SDU or TDU becomes the bottleneck.
These tests results do not reflect the testing on wide area networks (WAN), which is left for future discussions. Future studies are necessary to investigate the effectiveness of LONG datatype on client/server applications. Also, row size does not have a one-to-one relationship with the connect time. Note that table STATS1 contains 100bytes@row and STATS2 20bytes@row. The row length proportion is 5:1, but the connect time based on these results (table numbers) is approximately 2:1.
References
Postel, J.B., "Transmission Control Protocol," 1981 September; 85 p. (RFC 1123)
Branden, R.T., ed. "Requirements for Internet hosts-application and Support," 1989 October; 98 p. (RFC 793)
Naugle, M., "Network Protocol Handbook," 1994, 186 p.
Nassar, D.J., "Ethernet and Token Ring Optimization," 1996, 513 p. 5.
Ordering Sun Documents
The SunDocsSM program provides more than 250 manuals from Sun Microsystems, Inc. If you live in the United States, Canada, Europe, or Japan, you can purchase documentation sets or individual manuals through this program.
Accessing Sun Documentation Online
The docs.sun.com web site enables you to access Sun technical documentation online. You can browse the docs.sun.com archive or search for a specific book title or subject. The URL is http://docs.sun.com/
To reference Sun BluePrints OnLine articles, visit the Sun BluePrints™ OnLine Web site at: http://www.sun.com/blueprints/online.html