I have recently been working on an application that uses in memory sessions. Our previous systems had always put session data on a database so it was easy to find out how many active sessions we had at any one time which is always useful when we have issues with a system so we can state how many users have been affected.
To allow us to view this sort of information within WAS, I first had to enable PMI on each WAS server.
This article discusses the overhead of PMI
Now that PMI was enabled, it was simply a case of writing a jython script to run at regular intervals to get the data:
The commands are as follows (I have taken out the commands to strip the data to the format I was specifically after so I will leave that up to your own jython skills to sort out)
servers = AdminTask.listServers( '[-serverType APPLICATION_SERVER]').splitlines()
for server in servers:
# Now just get the app server name - not the whole jytoh config id
newserver = server.split('(')
# get the session manager mbean
ps = AdminControl.queryNames ('WebSphere:type=SessionManager,process=' + newserver[0] + ',*')
# now get the stats for the mbean
AdminControl.getAttribute(ps, 'stats')
And hopefully you will get some output like this:
['', 'Stats name=My_WAR_FILE_NAME, type=servletSessionsModule', '{', 'name=SessionObjectSize, ID=18, description=The average size of the session objects at session level, including only serializable attributes in the cache., unit=BYTE, type=AverageStatistic, avg=1762.5, min=1713, max=1812, total=200925, count=114, sumSq=4.0370855625E10, type=TimeStatistic, avg=1762.5, min=1713, max=1812, total=200925, count=114, sumSq=4.0370855625E10', '}']
As well as the current count I could also check out the session object size which might also be useful if you have a large number of sessions and a small heap size
Tuesday, 9 February 2010
Subscribe to:
Post Comments (Atom)
Im getting following error:
ReplyDeleteception: exception from Jython:
Traceback (innermost last):
(no code object) at line 0
File "", line 4
newserver = server.split('(')
^
SyntaxError: invalid syntax
Please help
Im getting following error:
Deleteception: exception from Jython:
Traceback (innermost last):
(no code object) at line 0
File "", line 4
newserver = server.split('(')
^
SyntaxError: invalid syntax
Please help
Anybody solve this error?
ReplyDeleteuse double quotes
ReplyDelete