Our largest client have a SA16 database, about 25 GB in size. Primary use is a client/server application, but we also have som webservices and some use CLR (.Net code).
As of lately, we are experiencing some issues. Yesterday, one of the webservices used over 30 seconds to connect. This usually takes milliseconds, due to the use of connection pool cache. At that same time, one of the CLR-routines reported "All threads are blocked" in the Windows event log.
The database server is a new HP Proliant server, with lots of RAM and a gnarly CPU.
I had a look at the service, and it is set up like this:
-n <servername> -x tcpip(serverport=2638) -gnl 200 -gnh 400 -ca 0 -c 32G <databasefile.db>
Also, the option max_query_tasks option is set to 1 (a tech at SAP recommended it).
Is there any point in adjusting the gnl and gnh switches? Or could we remove them all together?
It would be great to hear some of your experiences if you have any. Perhaps someone from SAP has anything to contribute?
Bjarne Anker Maritech Systems AS Norway
asked 24 Jan, 16:22
You could use sa_server_option with MaxMultiProgrammingLevel to increase the gnh value online, to check if that helps.
You can use the profiler to check if you really have so many simultaneous requests that 400 tasks are not enough to handle them.
You can check the blocked connections tab to check if more or less all your requests are accessing the same data and therefore have to wait for each other
answered 25 Jan, 05:51