SupportJPG
  Support Home   |   Search   |   Documentation
ArticleId = kb000241

INFO: Acceler8DB Network Blocking Considerations

The information in this article applies to:

    • Acceler8DB, All Releases
    • Windows
    • TCP/IP
    • AVR, All Releases

SUMMARY:

Here is some information on considerations when dealing with large records (> 6K) and database I/O within an AVR application.

STATUS:

Current.

MORE INFORMATION:

Acceler8DB provides a "network blocking" feature, which can improve program performance when reading sequential records. In most situations where records are accessed in "read-only" mode, network blocking should be used. However, there are certain access scenarios where the use of network blocking is not beneficial, and may even reduce performance.

In read-access network blocking, the server sends a single network communication packet containing the largest number of sequential records which fits into that packet, i.e. Acceler8DB/DataGate protocol network communication packet or "logical packets" - These are independent of the underlying comm transport (TCP/IP), which generally does use smaller "physical packets". Consequently, file record size should be considered when using network blocking. If a file's record size is so large that one or more network packets are required to transmit a single record, then network blocking will not improve performance. In fact, in such a scenario, the client/server overhead associated with network blocking may decrease performance slightly. For this reason, ASNA recommends that programmers consider 6 Kbytes to be the maximum record length for file access with network blocking. In some instances, files with slightly larger record lengths may be used effectively with network blocking, but the 6K limit is a good rule-of-thumb.

Read-access network blocking should also be avoided when records are being accessed more "randomly" than "sequentially". Network blocking optimizes each record access using client-side record buffers, so that the record following/preceding the current record can be returned without network communication to the server. While network blocking supports most random access methods, the performance of these methods is comparatively reduced. However, if the majority of the program's record access is sequential, the greater performance of network blocking's sequential accesses will generally cancel the lower performing random accesses, to provide better performance overall. When performance is critical and there is any question of the usefulness of network blocking, the program should be benchmark tested with and without network blocking enabled.

Steps to determine what is your file's record format length:

  1. Open the database via database manager
  2. Go to the library where the file exits
  3. Right click on the file, select Properties (See Figure 1)
  4. There is a Record Format Length property (See Figure 2)

Figure 1

Figure 2

Keywords: packet, network, transmission, size, block, record format length, large, slow, performance, netblockfactor

Last Modified Date: 1/7/2005 11:21:19 AM

Copyright © 2005, 2006 ASNA Inc.

  Support Home   |   Search   |   Documentation