Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
jgleichmann
Active Contributor


Hello SAP Administrators,

the ASCS is not really a new topic, but I guess most of you never changed ASCS parameters after the installation/migration of it. In the most cases the defaults are good enough, but for big system environments you have to optimize them.

In a good sizing/parametrization you should take care also of the ASCS parameters!




Basics

ASCS

- Messages Server

- Enqueue Server

Every new system will be installed with ASCS and the option for ERS. ERS is the Enqueue Replication Service which take place in a cluster scenario.

The future is the standalone enqueue server which is just another name for the ENQ service inside the ASCS.

There are a lot of documents and notes regarding the enqueue server and I will just collect them here with some hidden parameters and also show you my tests.

In the past integrated ENQ Server can be administrated in the CI ABAP profile via RZ10 or directly in the filesystem.

The new ASCS can only be configured via the profile on the filesystem. It is not visible anymore via RZ11/RZ10 for change. Don't believe what you see in RZ11! You just see the defaults or any old value which were note deleted from the profile. It is essential that the binaries from (A)SCS and ERS instance are from the same binary set.

Please delete all old enqueue parameters from default and instance profiles!




Test environment:


Kernel Release 742 SP210

PAS with ASCS (NUC)


    AIX 7.1

DB2 10.5 FP3/4

120WP

Application Server


    20x linux vmware

150WP per server

=>3000WP





Calculate some parameters


1) calculation of enque/server/max_requests

workprocesses + enqueue table size in MB * 20|25 (NUC|UC)

=> 3120 + 1024 * 20 (because we have a NUC system)

=> 23600

2) calculation of the snapshot area
    the snapshot memory area must be greater than the enqueue table sizeThere is no restriction or recommendation about the better number of packages and its size because this depends on the business process1903553 - Standalone Enqueue Server (ENSA) and snapshot packages

ENQ table size: 1024MB

snapshot memory=enque/snapshot_pck_ids*enque/snapshot_pck_size

=> default size = 10.000 * 50.000 = 500MB

=> just edit the parameters if your ENQ table size is above 500MB

=> the package size is :

1.000.000*80.000

80.000.000 KB

80 GB

=> so in this case we can definitely reduce the parameter, but our tests have shown that this settings are working pretty good

3) Client profile (application Server):
    enque/process_location = REMOTESA

enque/serverhost = <hostname of the enqueue-server>

enque/serverinst = <instance number of the enqueue-server>

enque/deque_wait_answer = TRUE

4) ASCS instance profile:
    #If you set this parameter to 0, the lock table is not placed in any pool

ipc/shm_psize_34 = 0

#default 50KB => parameter value 50.000 (30.000 and 100.000 possible values)- determines the size of

#the individual packets. A lock entry requires about 1 KB.

enque/snapshot_pck_size = 80000

#enqueue table size

enque/table_size = 1024000

#default: 10.000 (10-1.000.000 possible) => newer releases default: 1600 - determines the

#maximum number of snapshot packets

enque/snapshot_pck_ids = 1000000

# hidden parameter, see note 1850053 - ENSA suspended the ERS network connection

enque/ni_queue_size = 1000

#default: 1000 - 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

enque/server/max_clients = 5000

#new name for 'max_query_requests' is 'enque/server/query_block_count' since release 800

enque/server/max_query_requests = 5000

# default 1000 - maximum number of enqueue requests that can be processed simultaneously

enque/server/max_requests = 23600

#Max. number of subsequent asynchronous requests - a synchronous request is forced

#every n asynchronous request. You specify this number n in this parameter.

enque/async_req_max = 5000

#The number of I/O threads - a value higher than 4 has never resulted in an increase in throughput.

enque/server/threadcount = 8

#parameter specifies how many memory blocks (each has 32 KB) are reserved in the

#replication server for transferring the data

enque/server/query_block_count = 5000

#ENQ server name

rdisp/enqname = $(rdisp/myname)

#mechanism for communication between the threads - with value true, the communication

#is quicker but generates a heavy load on the system

enque/server/use_spinning=false

undocumented parameters which have to be tested by your own:

enque/server/req_block_size = 13333

enque/enrep/req_block_count = 14000

We have tested a lot with the threads and the snapshot size. That settings which you see above are the final setup. In the past we have a lot of ENQ time (up to 30%) in our mass processing batch. We could reduce this to about 1-2%.

This reduced the overall time for the massive parallism for about 40-60%!!! Nobody expected such a big benefit for this processes. But it depends on your application and the current ENQ time if the improvements can also take place in your environment.

Please analyze your ASCS and Application Server profile for this parameters. If you see a lot of ENQ time while analyzing with TX STAD or SE30, you should check the performance of your ENQ server.

This can be done with SM12 (OK Code: test/dudel). Please use the following note how to do this: 1320810 - Z_ENQUEUE_PERF

Here are an example of a small test system without application server (I will add some screenshots from the big environment in some weeks):



=> you can see that most of the requests are <= 1ms

=> more intresting is a an environment with more application servers in cause of the RTT (network round trip times)




Another indicator could be the report SAPLSENA. If you see in TX ST03 high times on this report you should take care of it. Also when you see the report a long time in SM66/SM50 this is an indicator of bad ENQ performance.

A good starting point for your analyze could be this blog on sap-perf.ca

and than => happy tuning :wink:




Details:

920979 - Out of memory im Standalone-Enqueue-Server

1850053 - ENSA suspended the ERS network connection

1903553 - Standalone Enqueue Server (ENSA) and snapshot packages

654744 - Several errors corrected in the standalone enqueue server

sap.help ENQ Server

If you have any further questions, don't hestate to comment the blog or contact me or one of my colleagues at Q-Partners ( [info_at_qpcm_dot_de | mailto:info@qpcm.de] )

 

Best Regards,

Jens Gleichmann

Technology Consultant at Q-Partners (www.qpcm.eu )

Edit History:

#V1.1 Added example of 1320810 - Z_ENQUEUE_PERF

#V2.0 style adjustments In cause of new SAP portal

8 Comments
Labels in this area