Resource Usage / Memory v10

The configuration parameters in this section control resource usage pertaining to memory.

edb_dynatune

Parameter Type: Integer

Default Value: 0

Range: 0 to 100

Minimum Scope of Effect: Cluster

When Value Changes Take Effect: Restart

Required Authorization to Activate: EPAS service account

Determines how much of the host system’s resources are to be used by the database server based upon the host machine’s total available resources and the intended usage of the host machine.

When Advanced Server is initially installed, the edb_dynatune parameter is set in accordance with the selected usage of the host machine on which it was installed (i.e., development machine, mixed use machine, or dedicated server). For most purposes, there is no need for the database administrator to adjust the various configuration parameters in the postgresql.conf file in order to improve performance.

The edb_dynatune parameter can be set to any integer value between 0 and 100, inclusive. A value of 0, turns off the dynamic tuning feature thereby leaving the database server resource usage totally under the control of the other configuration parameters in the postgresql.conf file.

A low non-zero, value (e.g., 1 - 33) dedicates the least amount of the host machine’s resources to the database server. This setting would be used for a development machine where many other applications are being used.

A value in the range of 34 - 66 dedicates a moderate amount of resources to the database server. This setting might be used for a dedicated application server that may have a fixed number of other applications running on the same machine as Advanced Server.

The highest values (e.g., 67 - 100) dedicate most of the server’s resources to the database server. This setting would be used for a host machine that is totally dedicated to running Advanced Server.

Once a value of edb_dynatune is selected, database server performance can be further fine-tuned by adjusting the other configuration parameters in the postgresql.conf file. Any adjusted setting overrides the corresponding value chosen by edb_dynatune. You can change the value of a parameter by un-commenting the configuration parameter, specifying the desired value, and restarting the database server.

edb_dynatune_profile

Parameter Type: Enum

Default Value: oltp

Range: {oltp | reporting | mixed}

Minimum Scope of Effect: Cluster

When Value Changes Take Effect: Restart

Required Authorization to Activate: EPAS service account

This parameter is used to control tuning aspects based upon the expected workload profile on the database server.

The following are the possible values:

  • oltp. Recommended when the database server is processing heavy online transaction processing workloads.
  • reporting. Recommended for database servers used for heavy data reporting.
  • mixed. Recommended for servers that provide a mix of transaction processing and data reporting.

edb_enable_icache

Parameter Type: Boolean

Default Value: false

Range: {true | false}

Minimum Scope of Effect: Cluster

When Value Changes Take Effect: Restart

Required Authorization to Activate: EPAS service account

Enables or disables Infinite Cache. If edb_enable_icache is set to on, Infinite Cache is enabled; if the parameter is set to off, Infinite Cache is disabled.

If you set edb_enable_icache to on, you must also specify a list of cache servers by setting the edb_icache_servers parameter.

edb_icache_servers

Parameter Type: String

Default Value: none

Range: n/a

Minimum Scope of Effect: Cluster

When Value Changes Take Effect: Reload

Required Authorization to Activate: EPAS service account

The edb_icache_servers parameter specifies a list of one or more servers with active edb-icache daemons. edb_icache_servers is a string value that takes the form of a comma-separated list of hostname:port pairs. You can specify each pair in any of the following forms:

  • hostname
  • IP_address
  • hostname:portnumber
  • IP_address:portnumber

If you do not specify a port number, Infinite Cache assumes that the cache server is listening at port 11211. This configuration parameter will take effect only if edb_enable_icache is set to on. Use the edb_icache_servers parameter to specify a maximum of 128 cache nodes.

You can dynamically modify the Infinite Cache server nodes. To change the Infinite Cache server configuration, use the edb_icache_servers parameter in the postgresql.conf file to perform the following:

  • Specify additional cache information to add server(s).
  • Delete server information to remove server(s).
  • Specify additional server information and delete existing server information to both add and delete servers during the same reload operation.

After updating the edb_icache_servers parameter in the postgresql.conf file, you must reload the configuration parameters for the changes to take effect.

edb_icache_compression_level

Parameter Type: Integer

Default Value: 6

Range: 0 to 9

Minimum Scope of Effect: Per session

When Value Changes Take Effect: Immediate

Required Authorization to Activate: Superuser

The edb_icache_compression_level parameter controls the compression level that is applied to each page before storing it in the distributed Infinite Cache.

When Advanced Server reads data from disk, it typically reads the data in 8kB increments. If edb_icache_compression_level is set to 0, each time Advanced Server sends an 8kB page to the Infinite Cache server that page is stored (uncompressed) in 8kB of cache memory. If the edb_icache_compression_level parameter is set to 9, Advanced Server applies the maximum compression possible before sending it to the Infinite Cache server, so a page that previously took 8kB of cached memory might take 2kB of cached memory. Exact compression numbers are difficult to predict, as they are dependent on the nature of the data on each page.

This parameter must be an integer in the range 0 to 9.

  • A compression level of 0 disables compression; it uses no CPU time for compression, but requires more storage space and network resources to process.
  • A compression level of 9 invokes the maximum amount of compression; it increases the load on the CPU, but less data flows across the network, so network demand is reduced. Each page takes less room on the Infinite Cache server, so memory requirements are reduced.
  • A compression level of 5 or 6 is a reasonable compromise between the amount of compression received and the amount of CPU time invested.

The compression level must be set by the superuser and can be changed for the current session while the server is running. The following command disables the compression mechanism for the currently active session:

SET edb_icache_compression_level TO 0;