BizTalk SAP-adapter performance issue

We have 1 server BizTalk installation:

Windows server 2012 R2 STD EN, BizTalk 2013 R2.

4 cores, 8GB RAM, 100 HDD.

We testing possibility of exchanging data between BizTalk (SAP adapter) and SAP using RFC procedures. For testing purposes in SAP was created custom RFC procedure, which takes list of IDOC types and total amount of IDOCs as input parameters and gives IDOCS in table format as output. During the tests we noticed low performance:

  •          Receiving of 100 IDOC (~22MB) takes about 7 minutes.
  •          Receiving of 10 IDOC (~2MB) - takes about 10 seconds.

Process of getting data was tracked using Performance Monitor with counters:

  1.        Memory page faults / second;
  2.       CPU %Time usage (Total)
  3.        Network interface total bytes / second

During the process of receiving data from SAP, we saw:

  •          Network activity short leap (about 5% of total receive process duration).
  •          Activity of page faults / second showed the same behavior.
  •          After network activity and page faults / second decreased, CPU activity raised and was on that level until data receive process was finished (about 95% of total receive process duration).
  •          After that process of receiving was finished.

 

Chart with counters described above for receiving 30 IDOCs shown below:


We tried same scenario on BizTalk server 2013 R2 and get same result.

Also, we tested getting 10-100 IDOC's and noticed receive time dependency from total amount of row's in responce:



Such performance is unacceptable for us.

Getting same data through WCF-SQL is about 100 times faster.

After deep trace analysis, we discovered that most time consuming operation during time is:

[1]1108.0214::02/04/2015-10:24:39.975 [CSharp]:[Wcf] WcfMarshaller.CreateBizTalkMessageStream: UseBodyElement

[0]1108.0214::02/04/2015-10:25:05.650 [CSharp]:[Wcf] BizTalkDeleteTxn.BizTalkDeleteTxn

So, theoretically increasing batch treshold should help. But it didnt help (we increased it to 102400 KB).

Anyone has same issue?

Any ideas about fixing the problem?


February 23rd, 2015 4:03pm

Such performance is unacceptable for us.

Getting same data through WCF-SQL is about 100 times faster.

After deep trace analysis, we discovered that most time consuming operation during time is:

[1]1108.0214::02/04/2015-10:24:39.975 [CSharp]:[Wcf] WcfMarshaller.CreateBizTalkMessageStream: UseBodyElement

[0]1108.0214::02/04/2015-10:25:05.650 [CSharp]:[Wcf] BizTalkDeleteTxn.BizTalkDeleteTxn

So, theoretically increasing batch treshold should help. But it didnt help (we increased it to 102400 KB).

Anyone has same issue?

Any ideas about fixing the problem?

HI,

Thanks for sharing your experience with us.

If you cannot determine your answer here or on your own, consider opening a support case with us. Visit this link to see the various support options that are available to better meet your needs:  http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone

Best regards,

Angie

Free Windows Admin Tool Kit Click here and download it now
March 3rd, 2015 12:00pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics