cancel
Showing results for 
Search instead for 
Did you mean: 

XMII/BLS/Join Action block-Performance

Former Member
0 Kudos

I am doing outer join between 2 xml output, and size the outputs 1 MB and 2MB. It takes 4 minutes.

Is there any aleternative way of joining which will minimize the duration. Duirng this operation CPU also peaks.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

There is no alternative way to handle performance in XMII framework

Former Member
0 Kudos

Is this a question or a statement?

Former Member
0 Kudos

this is a statement

Former Member
0 Kudos

There certainly is an alternative way - creating custom action blocks...

Former Member
0 Kudos

Do you have any guide line to create customize action block, which will improve performace on join between 2 xml document

Former Member
0 Kudos

I have to say, those are very large xml files. In my experience, XML's structure doesn't really lend itself to high performance when using large files, period. On any platform, and I have dealt with it on many. Custom code may not get you the improvements in performance you are looking for. You should really revisit your process. You could try looping on the smaller set and pulling the data you need out of the other source in a loop. Multiple SQL queries may be faster than the system traversing a large xml dataset. I have seen it. It works. You could then unwind the loop etc. Is cahing the data an option? Is this a situation where you can churn the bulk in the morning and then only deal with deltas through the day?

It might even be better to just dump the data into a common database.

have you determined how long it is taking to load the data from your queries?

Message was edited by:

christian libich

Message was edited by:

christian libich

Former Member
0 Kudos

Thanks for the answer. Finallly i got my answer. Rule of thumb is to deal with smaller set of data. I was waiting for soemone from SAP, to answer. But i have not got a single comments.

Former Member
0 Kudos

What are the specs of your xMII server? How much memory is allocated to xMII?

How many rows of data do each of the xml documents have?

Former Member
0 Kudos

IBM/XSERIES_3650/3.20 GHz/4.00 GB RAM/Total paging file size for all drives 2046 MB

Row count of each xml ouput are 1680 and 2268 respectively.

Former Member
0 Kudos

What is the OS?

Former Member
0 Kudos

And how much of the 4GB is allocated to ServletExec?

Former Member
0 Kudos

Actually i don't remeber. is ther anyway i can know, how much is allocated?

Former Member
0 Kudos

Look at c:\ServletExec AS\se-xMII\StartServletExec.bat you'll see something like " -Xmx1024m". In this example, the memory allocation is 1024mb

Former Member
0 Kudos

Looks like 1536 MB is allocated. Based install guid this is max you can allocated right?

This is the content of servlet start bat:

"C:\j2sdk1.4.2_07\bin\java" -Xmx1536m -classpath "C:\j2sdk1.4.2_07\lib\tools.jar;C:\ServletExec AS\lib\activation.jar;C:\ServletExec AS\lib\mail.jar;C:\ServletExec AS\lib\jaxp-api.jar;C:\ServletExec AS\lib\dom.jar;C:\ServletExec AS\lib\sax.jar;C:\ServletExec AS\lib\xercesImpl.jar;C:\ServletExec AS\lib\xalan.jar;C:\ServletExec AS\lib\xsltc.jar;C:\ServletExec AS\lib\jstl.jar;C:\ServletExec AS\lib\standard.jar;C:\ServletExec AS\lib\jdbc2_0-stdext.jar;C:\ServletExec AS\lib\commons-el.jar;C:\ServletExec AS\lib\servlet.jar;C:\ServletExec AS\lib\ServletExec50.jar;C:\ServletExec AS\lib\ServletExecAdmin.jar;C:\ServletExec AS\se-xMII\classes" -Djava.naming.factory.initial=com.newatlanta.servletexec.InitialContextFactory ServletExec -name "xMII" -home "C:\ServletExec AS\se-xMII" -root "C:\InetPub\wwwroot" -port 8888

Former Member
0 Kudos

Yes you are maxed out. What data type is the column you are joining? And what OS is the xMII server running on? What version (and build) of xMII are you using?

Former Member
0 Kudos

Number of columns used to join 2

Data type of the columns are SQLDataType="12"

OS Windows 2003 Server Enterprise edition Service PAck 1

Java Version 1.4.2_07

XMII 11.5

Former Member
0 Kudos

When we say 1536 MB allocated to ServletExec. What it means to us.

Does it mean, that web based application built on SAP XMII frame work cannot use more than 1536 MB of RAM simultaneously?

Pls. explain me in detail does 1536 MB put any limit in the application.

Former Member
0 Kudos

Yes, the ServletExec engine can only use a maximum of 1.5GB of memory. So, even if your server has 64GB of RAM, the ServletExec engine can only take advantage of 1.5GB.

Former Member
0 Kudos

Based on our discussion my understanding is, XMII frame work is only good once u deal with small set data right?

Former Member
0 Kudos

Good? Not sure how to respond to that.

Like most things, the more data to process, the slower the performance.

Where are you two data files coming from? Are the results from the same database? is it possible to join them at the database level?

Former Member
0 Kudos

Data coming different data source.

Yes you are right, most of the manupulation needs to be done in the database side.

One of my xml output , to remove multiple columns using a column stipper it takes 13 seconds.

Former Member
0 Kudos

Any other questions?

Former Member
0 Kudos

No. Thanks for your thought.