You have to set the following parameters in the instance profile of the standalone enqueue server.
Some are only relevant, if you are working with a replication server. These are listed later.
Parameter |
Meaning |
---|---|
ipc/shm_psize_34 |
The log table is stored in the shared memory of the enqueue server, and its shared memory key is 34. On some platforms the enqueue server by default puts the lock table in pool 10. In this case this would be a waste of shared memory. If you set this parameter to 0, the lock table is not placed in any pool. As much memory as is needed for the lock table is allocated. So set the parameter ipc/shm_psize_34 = 0 in the profile of the enqueue server. Caution Set this parameter only in the instance profile of the enqueue server. End of the caution. |
enque/server/replication |
The parameter can have the value true or false and this determines whether the enqueue server uses the replication server. Default value: false If you want to use the replication server, you have to explicitly set this parameter in the enqueue server profile. Note For information about using the backup file for locks transferred to the update process when using the replication server, see Using the Backup File. End of the note. |
enque/server/codepage |
The non-unicode version of the enqueue server can run in specific code pages. Until now this was only useful, if you were using an Application Server Java (J2EE Engine) with the enqueue server and the enqueue server was not a Unicode server. In the protocol used in such cases, unicode characters are transferred in UTF8 format to the enqueue server. With this parameter you can set the code pages you want to convert these characters to. Note The value is the four digit number of the SAP character set. End of the note. |
enque/server/max_requests |
The parameter specifies the maximum number of enqueue requests that can be processed simultaneously in the enqueue server. The value should be at least the same as the total number of work processes in the system (for AS Java, the total number of threads in all AS Java instances). The default value is 1000. Caution Set this parameter only in the instance profile of the enqueue server. End of the caution. |
enque/encni/port |
You use this parameter, if the TCP port of the enqueue server, used for the communication with the enqueue clients, is not to be set to sapdpXX (XX is the instance number). It must then be set in all profiles (preferably DEFAULT.PFL). |
enque/encni/repl_port |
Use this parameter if the replication port of the enqueue server cannot be set to the default port 5XX16 (where XX is the instance number). It should then be set either in DEFAULT.PFL, or in the profiles of the enqueue server and the replication server. |
enque/encni/no_addr_resolve |
This parameter deactivates the host name resolution in the enqueue server. The default value of the parameter is zero 0 (false), this means that the host name resolution in the enqueue server will be executed. If this takes too long or there are any problems, you can set the parameter to 1 ( true), the IP address is simply output and the host name is not resolved. More information: High Availability with the Standalone Enqueue Server |
enque/server/threadcount |
The number of I/O threads. Normally you do not need to change this parameter. It may be useful to change it for increasing system performance, but this should only be done with support from SAP or your hardware provider. Experience up to now shows that a value higher than 4 has never resulted in an increase in throughput. |
enque/server/max_clients |
This parameter determines the number of processes that can be connected to the enqueue server. Set the parameter to the same value as the total number of work processes in the system. The default value is 1000. |
enque/server/use_spinning |
With this parameter you can activate a different mechanism for communication between the threads. This mechanism is somewhat quicker, but generates a heavy load on the system. Even with a small enqueue throughput, CPU usage will be 100%. Possible values are true and false. The default value is false, and the parameter is not normally set. |
In some cases the result of an enqueue request (read) is too large to be transported in one packet across the network. The result must then be split into several packets that are stored on the server and fetched one after another by the client.
The following parameters control the behaviour and resource consumption in this process.
Recommendation
These parameters are assigned default values. The values only have to be changed for very special requirements (for instance down-sizing).
Parameter |
Meaning |
Unit |
Default Value |
---|---|---|---|
enque/snapshot_timeout |
If the client is terminated, to prevent memory leaks once a timeout is exceeded the server must delete these packets. This parameter determines the timeout. |
Seconds |
10 |
enque/snapshot_pck_size |
This parameter determines the size of the individual packets. Values between 30000 and 100000 are preferable. A lock entry requires about 1 KB. |
Bytes |
50000 (50 KB) |
enque/snapshot_pck_ids |
This parameter determines the maximum number of snapshot packets. Possible values are between 10 (extreme downsizing) and 1000000. If the value is that small that there is not enough space for all the lock entries, the entries will be truncated when you call them up. Example If you set enque/snapshot_pck_size=30000 and enque/snapshot_pck_ids=10, you can read out a maximum of about 300 lock entries. This is only useful for very small systems or applications. End of the example. |
Integer value |
10000 |
You have to set the following parameters if you use replication, that is, when the value of enque/server/replication is true.
More information:
Parameter |
Meaning |
---|---|
enque/enrep/stop_timeout_s |
This parameter specifies how long the enqueue server is to remain in suspended state, before it attempts to update the replication server again. The time period is specified in seconds. The value 0 means that the state suspended remains for as long as there is a connection to the replication server. Only when the replication server is restarted, does the enqueue server leave this state. |
enque/enrep/stop_retries |
This parameter specifies how often the enqueue server attempts to update the replication server, following the timeout stipulated in enque/enrep/stop_timeout_s. Possible values are whole numbers. The value 0 means that the enqueue server should keep retrying. |
enque/enrep/req_block_count |
This parameter specifies how many memory blocks (each has 32 KB) are reserved in the replication server for transferring the data. The parameter is needed with a lock table size exceeding 80 MB. |