PDA

View Full Version : SAP Adapter Threading Issue


beau_brewer
11-17-2003, 09:09
We have experienced an issue with the 4.6 SAP adapter on our 6.0 IS. We had 10 threads allocated to a particular listener, but it seemed that as soon as we exceeded our allocated threads, the SAP Listener would stop functioning entirely (though stay in green status) until we recycled it.

I tested this assumption by lowering and raising the thread count, and the results seemed to confirm this assumption (the listener would stop functioning very quickly with a low thread count and stay stable with a high thread count).

When we exceeded our thead count, there was no indication on the SAP Adapter or on the SAP side that a problem occurred (even at the highest log level we could set). The SAP Adapter log simply stopped growing and on the SAP Side, all our RFC calls encountered errors that were not indicative of an exceeded thread count.

1st question: Is there any way to tell how many threads you are utilizing? Is there a rule of thumb to tell you how many you should use?

2nd question: How do you know (other than the fact that the adapter stops functioning) that you have exceded your thread count.

Thanks,
Beau

vandem
11-17-2003, 15:44
If the adapter stops then this will be a problem for us - we are on SAP adapter 4.0.1 on IS 4.6 now, but will migrate to 4.6 /6.0.1 in the new year !

1. To see how many threads are in current use look in SAP SMGW (in the usual multi-server SAP environment this only works if you are logged on to the gateway server) or SAP SM58 for the appropriate TRFC destination (count the number of "Transaction Execting"s) or IIRC check the Total Sessions/Current screen from the IS admin console.

2. Check SAP SM58 for the appropriate TRFC destination. Check status of transctions. "Transaction Recorded" is for those transactions that have been initiated from SAP, but have not yet been connected to a IS listener thread. "Error" may be for those transactions that timed-out before being picked up by the IS listener.

In our production system we have one listener, with 10 threads. During peak periods we may have up to 20 transactions released from SAP almost simultaneously, and some of these will fail to connect. We have a background job that runs every 5 mins to re-execute the errors.

We have tried setting number of threads higher and lower, but the variation caused by load/performance levels in SAP and IS meant that we never came to a firm conclusion.