cancel
Showing results for 
Search instead for 
Did you mean: 

performance monitoring using Jprofiler

Former Member
0 Kudos

Hi Netweaver experts

I am in the process of perfomance testing my SAP portal.

We have a sigificant amount of custom developed Iviews in our portal and I would like to monitor the pereformance of these.

For this purpose I have installed Jprofiler (a performance monitoring tool)

http://www.ej-technologies.com/products/jprofiler/overview.html

when I run jProfler against some small java standalone application on my labtop it works fine, but when I try to profile my Enterprise portal it doesnt work.

I have tried to connect to the application server remotely using the hostname and a port number suggested by Jprofiler. But when starting the monitoring session there is no connection to the server.

is it possible that some security settings in EP does not allow this and if so where can they be configured.

I also tried starting Jprofiler locally on the server that EP is installed on but then I have to choose my "Main class or excecutable jar" and I dont know which one that would be.

either it could be a jar for one of my Iviews,

or it could be some central jar file in EP that starts the whole thing.

if anyone has had experience with EP and Jprofiler, or have any suggestions as to how I should proceed with this I would be very happy to hear from you

Regards Ulrik

Accepted Solutions (1)

Accepted Solutions (1)

kohlerm
Employee
Employee
0 Kudos

Hi Ulrik,

I'm not aware of any security settings that would prohibit profiling.

I've not used JProfiler for a while, but for me it worked some time ago.

I general using the remote profiling option of any profiler should work.

I can recommend Yourkit ( http://yourkit.com/) as an alternative.

It works quite well with JDK 1.4 (which you are using most likely) and has some great features for JDK 1.5.

Regards,

Markus (/people/markus.kohler/blog)

> Hi Netweaver experts

>

> I am in the process of perfomance testing my SAP

> portal.

> We have a sigificant amount of custom developed

> Iviews in our portal and I would like to monitor the

> pereformance of these.

>

> For this purpose I have installed Jprofiler (a

> performance monitoring tool)

> http://www.ej-technologies.com/products/jprofiler/over

> view.html

> when I run jProfler against some small java

> standalone application on my labtop it works fine,

> but when I try to profile my Enterprise portal it

> doesnt work.

>

> I have tried to connect to the application server

> remotely using the hostname and a port number

> suggested by Jprofiler. But when starting the

> monitoring session there is no connection to the

> server.

>

> is it possible that some security settings in EP does

> not allow this and if so where can they be

> configured.

>

> I also tried starting Jprofiler locally on the server

> that EP is installed on but then I have to choose my

> "Main class or excecutable jar" and I dont know which

> one that would be.

> either it could be a jar for one of my Iviews,

> or it could be some central jar file in EP that

> starts the whole thing.

>

> if anyone has had experience with EP and Jprofiler,

> or have any suggestions as to how I should proceed

> with this I would be very happy to hear from you

>

> Regards Ulrik

Former Member
0 Kudos

Hi Markus

Thanks for your fast reply.

yes I am using java 1.4, EP 6.

Jprofiler should work with this version of the JVM as far as I know.

you say you have used it before for EP.

can you give me some specific pointers as to setting it up.

When I try to set up a remote profiling session I am asked for

hostname/ip

portnumber (8849 default)

installation path of profiler on remote machine.

when I supply this information and start the profiling there is no connection to the server.

Don't I have to specify in some way that it is the Sap portal I wish to profile.

Do you have any idea what could be wrong?

kohlerm
Employee
Employee
0 Kudos

Hi,

Did you add the the profiler options to your portal JVM configuration ?

You have to add -Xrunjprofiler

-Xbootclasspath/a:{JProfiler install directory}\bin\agent.jar

.

Check the manual here http://resources.ej-technologies.com/jprofiler/help/doc/help.pdf.

Regards,

Markus

Former Member
0 Kudos

Hi again Markus

I actually did try that but when I added them My SAP portal could not start.

I added the parameters in the config tool fro EP under

cluster data --> instance[ID] --> server[ID] -->general.

I added Xrunjprofiler:[port]

and XbootclassPath

but for the boot class path I had two issues, I was a bit unsure about the syntax, forward slashes and no colon/equals between parameter name and value is this correct?

I tried replacing this with an = sign and a windows style path. but it didnt work.

and further ny path contains whitespaces "...\Program Files\..." this is apparently interpreted by config toll as a new parameter so a line break is inserted where the whitespace is.

how can I insert whitespaces in the JVM parameters?

I assume that the first parameter will cause the JVM to call jprofiler at startup, and the second is needed to add the jprofiler installation to the classpath so it can be called.

about the Xrunjprofiler parameter, as far as I can see in the link you provided this points to a .dll file in jprofiler library, is there no need for additional specification of where the file is located?

but what about the portnumber usde for profiling?

can that just be added to the Xrunjprofiler parameter or does it need a seperate parameter?

kohlerm
Employee
Employee
0 Kudos

Hi,

Note, that the options are all starting with - (the minus character).

The dll needs to be on the Path(defined by the PATH environment variable). Under Windows a simple way to achieve this, is to copy it to C:\windows\systems32 ( on the portal machine).

If your path contains spaces you need to quote it with " ". On windows you need to use ; instead of :.

Regarding the port number i think the default should work if you don't specify anything.

Regards,

Markus

kohlerm
Employee
Employee
0 Kudos

Hi,

did it work for you ?

Regards,

Markus

Former Member
0 Kudos

Hi Markus

No My problem is that everytime I start my server with those parameters then the server process does not start but is stopped with exitcode 2.

I cant find out why, does this make any sense to you?

I have added the following parameters to

Cluster data -> instance_IDXX -> server_IDXX -> General tab

-Xrunjprofiler

-Xbootclasspath/a:C:\jprofiler4\bin\agent.jar

I have added "C:\jprofiler4\bin" to the path environment variable of my windows machine

extract from log:

JHVM_LoadJavaVM: VM Arguments of node [server0]

-> stack : 262144 Bytes

-> arg[ 0]: exit

-> arg[ 1]: abort

-> arg[ 2]: -Djava.security.policy=./java.policy

-> arg[ 3]: -Djava.security.egd=file:/dev/urandom

-> arg[ 4]: -Dorg.omg.CORBA.ORBClass=com.sap.engine.system.ORBProxy

-> arg[ 5]: -Dorg.omg.CORBA.ORBSingletonClass=com.sap.engine.system.ORBSingletonProxy

-> arg[ 6]: -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.sap.engine.system.PortableRemoteObjectProxy

-> arg[ 7]: -XX:NewSize=32m

-> arg[ 8]: -XX:MaxNewSize=64m

-> arg[ 9]: -XX:NewRatio=3

-> arg[ 10]: -XX:+DisableExplicitGC

-> arg[ 11]: -XX:MaxPermSize=256M

-> arg[ 12]: -XX:PermSize=128M

-> arg[ 13]: -Duser.language=en

-> arg[ 14]: -Duser.country=US

-> arg[ 15]: -Xrunjprofiler

-> arg[ 16]: -Xbootclasspath/a:C:\jprofiler4\bin\agent.jar

-> arg[ 17]: -Drdbms.driverLocation=C:/usr/sap/J2E/JC00/j2ee/jdbc/base.jar:C:/usr/sap/J2E/JC00/j2ee/jdbc/util.jar:C:/usr/sap/J2E/JC00/j2ee/jdbc/sqlserver.jar

-> arg[ 18]: -Dsys.global.dir=C:/usr/sap/J2E/SYS/global/

-> arg[ 19]: -Dsys.global.dir=C:\usr\sap\J2E\SYS\global

-> arg[ 20]: -Dapplication.home=C:\usr\sap\J2E\JC00\j2ee\os_libs

-> arg[ 21]: -Djava.class.path=C:\usr\sap\J2E\JC00\j2ee\os_libs\jstartup.jar;.\bin\boot\boot.jar;.\bin\boot\jaas.jar;.\bin\system\bytecode.jar;.

-> arg[ 22]: -Djava.library.path=C:\j2sdk1.4.2_06\jre\bin\server;C:\j2sdk1.4.2_06\jre\bin;C:\j2sdk1.4.2_06\bin;C:\usr\sap\J2E\JC00\j2ee\os_libs;C:\usr\sap\Python\.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\j2sdk1.4.2_06\bin;C:\jprofiler4\bin;C:\usr\sap\J2E\SCS01\exe;C:\usr\sap\J2E\JC00\exe;C:\usr\sap\J2E\SYS\exe\run

-> arg[ 23]: -Xdebug

-> arg[ 24]: -Xnoagent

-> arg[ 25]: -Djava.compiler=NONE

-> arg[ 26]: -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=50021

-> arg[ 27]: -Dmemory.manager=1024M

-> arg[ 28]: -Xmx1024M

-> arg[ 29]: -Xms1024M

-> arg[ 30]: -DLoadBalanceRestricted=no

-> arg[ 31]: -Djstartup.mode=JCONTROL

-> arg[ 32]: -Djstartup.ownProcessId=3556

-> arg[ 33]: -Djstartup.ownHardwareId=A0178152858

-> arg[ 34]: -Djstartup.whoami=server

-> arg[ 35]: -Djstartup.debuggable=yes

-> arg[ 36]: -DSAPINFO=J2E_00_server

-> arg[ 37]: -DSAPSTARTUP=1

-> arg[ 38]: -DSAPSYSTEM=00

-> arg[ 39]: -DSAPSYSTEMNAME=J2E

-> arg[ 40]: -DSAPMYNAME=OCPDEV01_J2E_00

-> arg[ 41]: -DSAPDBHOST=

-> arg[ 42]: -Dj2ee.dbhost=OCPDEV01

**********************************************************************

[Thr 3580] Fri Dec 15 10:55:11 2006

[Thr 3580] JLaunchIAbortJava: abort hook is called

[Thr 3580] JLaunchCloseProgram: good bye (exitcode=-2)

Message was edited by:

Ulrik Lund

Former Member
0 Kudos

what about these properties, should they contain the path to the Jprofiler jar file?

-Djava.class.path

-Djava.library.path

If so how do I add it?

former_member197561
Active Participant
0 Kudos

Dear Ulrik,

Based on the startup settings, the problem is related to the debug mode. There are compatibilty issues between profiling and debugging.

-Djstartup.debuggable=yes

-Xdebug

Best Regards,

Sylvia

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

I had the same issue with JProfiler and I confirm what Markus wrote: profiling doesn't work with debug enabled.

When you'll have switched offdebugging off, it'll work.

Regards,

Serge.

Former Member
0 Kudos

Hi All,

Could anyone tell me about system requirements for installing JProfiler. I am not able to find them in JProfiler site. I need to know how much memory and disk space it consumes,

thanks in advance,

regards,

R.

kohlerm
Employee
Employee
0 Kudos

Hi,

It finally worked for me (with JDK 1.5). Also I have to say it took my some time to get it working.

One thing is for example that the documentation is talking about a directory called "jprofiler" but

with the latest version the directory is actually called jprofiler4.

Regards,

Markus

Former Member
0 Kudos

Hi Markus

you are indeed right that debugging is turned on on my server.

however my trial license fo Jprofiler has expired since my last post here.

please do let me know if you succeed in profiling when debugging is turned off

kohlerm
Employee
Employee
0 Kudos

Hi Ulrik,

I just noticed that you might have debugging turned on :

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=50021

Debugging and profiling doesn't play well together.

Anyway,I'm just trying out the latest JProfiler release, and I also ran into problems.

I'm on JDK 1.5 and I might have a different problem, but I'll let you know in case I figure out how it works.

Regards,

Markus