Connection Pool Settings
What is a connection pool : They are the physical connection from the appserver to the DB
The reason for using connection pool is ...Opening and maintaining a database connection for each
user, especially requests made to a dynamic database-driven website application, is costly and wastes
resources.
So to avoid this the connection pool uses a cache of database connections maintained so that the
connections can be reused when future requests to the database are required.
1) What is the Min and Maximum Connection Pool Connections ?
Min Connection Pool : Defines the minimum no of the physcal connections to be mainitined with the
DB .
Max Connection Pool : Defines the max no of physical connections to the DB
2) On what basis (min & Max) Connectins pool objects are determined ?
The connection pool settings are also like the heap setting , they both depend on the application . If
its a heavy user centric application then the conneciton needs to be increased ..
This is a trial and error and will be much evident during the load and performance testing . you need
to use various parameters to arrive at the right values with iwll optimise the performance.
3) Scenario:
When your max connection pool size is 30, Users are getting connection timeout error, now
how will you determine what can be max connection pool size, what are the parameter to
determine Max no. of connections ?
The ConnectionWaitTimeout exception indicates that the application has waited for the number of
seconds specified by the connection
timeout setting and has not received a connection. This situation can occur when the pool is at
maximum size and all of the connections
are in use by other applications for the duration of the wait.
1) Check the no of connections which are hitting the DB for that we can use PMI for checking the
JDBC connections.
you can also check with netstat -an | grep <DB port no> | grep <DB ipaddress> | wc -l
2) Take the Thread dump to understand whats action is being run at that instance
3) This will help us identify if there is a connection leak ie an application is not closing the
connection properly from the DB
thereby not allowing the new connections to the DB
4) IT could be also possible that the connection pool size is not sufficient for the application , in that
case would have to increase the Max connection on an approximation.
5) Also Corrdinate with the AD team to identify the source of connction leak
1) What is the Min and Maximum Heap Size ?
Ans: The default is 50 MB MIn and 256 MB Max
2) On what basis (min & Max) Heap Size is determined ?
Ans: This totally depends on the requirement of an application , If is a heavy application with many
users , report generation etc then the heap should be more .
3) Is the Min & Max Heap Size is different in 32 bit and 64 bit Operating Systems ?
Ans: I am not sure of 64 bit but i guess it should be same .. can any one validate/confirm it
4) For a single JVM what is Max Heap Size ?
Ans: Not sure if IBM has set any max heap .. but i guess that would be dependent on the system
memory available . if the system memory is avialiable then it can be increased
5) Scenario:
Physical Ram: 32 GB
A cell having 1 DMGR and 2 Federated Nodes and 2 Node agents, How can we determine how
much we can set a Heap Size for these JVM's ?
For the dmgr : 512 MB to 1024 MB should be sufficient
Node agent : 512 MB should be sufficient
for the Appserver : Well that depends on the application requirement, but i have seen the max of 3
GB for a JVM and ig the performance degrades then analyse it and then increase it accordingly
NOTE: All the Heap allocation mentioned above are conditiions applied :-)
Technically,we can set max 4 GB heap size for 32 bit JVM but there is no limit for 64 bit JVM.
Mximum size depends upon various factors like total memory size of server,operating syatem like
window,linux,no of processes running on server etc.
In normal scenario,we dont go beyond 1 GB but if jvm does jobs like report generation then we can
go up to 2 GB.
In our environment Demployment manager islite ear got corrupted and not opening from url , please
any body the steps how to reinstall the DMGR islite.ear from command line. very urgent to make my
DMGR get working like before.
Note:- what about my applications and cluster that are federated to it when it comes up is it be wel
and fine working like before are we have to do any configuration for them
If administrative console is broken or was accidentally uninstalled, re-deployment (reinstall) of
console-application can be done with jython script deployConsole.py located in bin-folder.
1. First a clean removal of the old admin-console deployment is nessacary
"<WAS_HOME>"/bin/wsadmin.sh -lang jython -f deployConsole.py remove
2. Now reinstall of administrative console (isclite) will complete without errors (hopefully)
"<WAS_HOME>"/bin/wsadmin.sh -lang jython -f deployConsole.py install
3. Take a look at /"profile-root"/config/cells/"cell name"/nodes/"node
name"/applications/isclite.ear/deployments/isclite/deployment.xml
3.1 Check if the <deploymenttargets>-Tag points to the correct server.
4. Take a look at /"profile root"/config/cells/"cell name"/nodes/"node name"/serverindex.xml
4.1 Check if the <deployedapplications>-Tag for application isclite is mapped to the correct server
(server1 in base version of WAS).
NOTE : I dont think it should affect the configurations as the configs are isolated .. but i cant be sure
as i have never tried it ... But its an intresting question
How to check remote server? and how to transfer a file from one system to another remote
system?
To check the remote server .. u can just
ping ipaddress
To test a perticular port
Telnet ipaddress portno
---------------------
To transfer a file from one unix machine to another unix machine u can use
scp command
scp < files to transfer > remoter server ipaddress:/dir
you can see the help to provide the varios option in scp command
if you want to transfer file from windows to unix u can use the winscp utility
Q: in WAS 5.1 version there is clustering mechanism
then how the WLM and HA is happening
May I know this please
A: WLM - Cluster always consists of minimum two members so work load gets shared between both
the members which provide work load management.
HA - If due to any reason,one cluster member gets down,in that case also other member is available
to serve the request and avoid application outage.This is called high availability.
Q: hi can any one pls explain me about
heap dump
thread dump
and deadlocks in threads
A: A heapdump is a snapshot of JVM memory - it shows the live objects on the heap along with
references between objects. It is used to determine memory usage patterns and memory leak
suspects.
When a heapdump is created , a GC is run so that only the live objects are avaliable in the heapdump
generally when an Out of memory exception occurs it creates a heapdump .. though u can do it
manually too . A heapdump is really imp during troubleshooting of the performance, memory leak
issues
...
Thread dump
A thread dump is a way of finding out what every thread in the JVM is doing at a particular point in
time
so it gives which which methods are being run , any bottleneck and hangs etc
....
Memory Leak
IF any application eats more & more system memory and never seems to return memory back to the
system untill large amount of physical memory allocation to that application then this is the sign of
memory leak.
So there wouldn't not be sufficient memory to run live objects .
Deadlock
This is when two threads each hold a resource that the other one wants. Each blocks, waiting for the
resourse that it's waiting for to be released - and so the resources are never released, and the
application hangs . so to put it in simple way
Thread 1 is using resource A and it wants resource B
Thread 2 is using resource B and it wants resource A
so thread1 will say that only if Thread2 release Resource B then only it will release Resource A
and thread2 will say that only if thread1 release Resource A then only it will release ResourceB
and neither thread 1 or 2 give up and this results in deadlock situation which results in application
hang
Q: what is SSL renual?in real time,the ssl certificate time is expired,what to do?
A: The SSL taken from a CA like Verisin comes with a validity .. for eg a year .. so that means the
certificate is only applicable till the year end and after it the certificate is expired.
So to keep the site up and running with a CA signed valid certificate the SSL needs to be renued .
If the certificate expires .. ye Ikeyman create the new cert with the new validity and send it to
Verisign .. They will provide the updated Cert with new expiry . upload these details to the IHS ( If
its a IHS certs ) and restart .
Q: Can any one tell me,how can we find the SSL expiry date of an WebSphere Application
Server on Linux Machine
A: Open the URL like https://xyz.com and then go to the certificate.
Here,you can get all the informations like valid from,expiry data,company name etc.
Using Ikeyman cmdline utility (ikeyman.sh):
find PATH -name *.jks | xargs -i bash -c ‘$WAS_HOME/java/bin/java -classpath
$WAS_HOME/java/jre/lib/ext/ibmjceprovider.jar:$WAS_HOME/AppServer/java/jre/lib/ext/ibmjcef
w.jar:$WAS_HOME/AppServer/java/jre/lib/ext/US_export_policy.jar:$WAS_HOME/AppServer/ja
va/jre/lib/ext/local_policy.jar:$WAS_HOME/AppServer/java/jre/lib/ext/ibmpkcs.jar:$WAS_HOME/
AppServer/java/jre/lib/ext com.ibm.gsk.ikeyman.ikeycmd -cert -list all -expiry -db {} -type jks -pw |
grep “Not After:.*yyy[y,y]” -B 3 && echo {}’
(e.g)
find /usr/IBM/WebSphere/AppServer/profiles/ -name *.jks | xargs -i bash -c
‘/usr/IBM/WebSphere/AppServer/java/bin/java -classpath
/usr/IBM/WebSphere/AppServer/java/jre/lib/ext/ibmjceprovider.jar:/usr/IBM/WebSphere/AppServer
/java/jre/lib/ext/ibmjcefw.jar:/usr/IBM/WebSphere/AppServer/java/jre/lib/ext/US_export_policy.jar:/
usr/IBM/WebSphere/AppServer//java/jre/lib/ext/local_policy.jar:/usr/IBM/WebSphere/AppServer/ja
va/jre/lib/ext/ibmpkcs.jar:/usr/IBM/WebSphere/AppServer/java/jre/lib/ext
com.ibm.gsk.ikeyman.ikeycmd -cert -list all -expiry -db {} -type jks -pw WebAS | grep “Not
After:.*200[7,8]” -B 3 && echo {}’
Using Java Keytool utility:
find $WAS_HOME -name ‘*.jks’ | xargs -i bash -c “echo {}; $WAS_HOME/java/jre/bin/keytool -
list -v -keystore {} -storepass password | grep ‘until: .*/.*/Y[Y,Y]‘ -A 3 -B 7″
(e.g)
find /usr/IBM/WebSphere/AppServer -name ‘*.jks’ | xargs -i bash -c “echo
{};/usr/IBM/WebSphere/AppServer/java/jre/bin/keytool -list -v -keystore {} -storepass WebAS |
grep ‘until: .*/.*/0[7,8]‘ -A 3 -B 7″
Output:
/usr/IBM/WebSphere/AppServer/profiles/etc//WWWStageClientKey.jks
Alias name: verisign class 1 ca individual subscriber-persona not validated
Creation date: Dec 18, 2006
Entry type: trustedCertEntry
Owner: CN=VeriSign Class 1 CA Individual Subscriber-Persona Not Validated,
OU=”www.verisign.com/repository/RPA Incorp. By Ref.,LIAB.LTD(c)98″, OU=VeriSign Trust
Network, O=”VeriSign, Inc.”
Issuer: OU=Class 1 Public Primary Certification Authority
Q: what is jms service?
A: In a Nut Shell JMS is Java Messaging Services .IT is used to write business applications to create,
send, receive, and read an messages between two differnt application.
JMS enables application to communicate using messages
The main objective is to achieve asynchronous messaging but synchronous messaging can also be
achieved
http://websphere-solution.blogspot.com/2010/01/was-interview-questions-answers.html
http://websphere-solution.blogspot.com/2010/03/some-basic-definations-about-was.html
http://websphere-solution.blogspot.com/2010/04/was-interview-questions.html
JACL: JACL is a self-contained implementation of a Tcl interpreter, written entirely in Java. JACL
also includes features that facilitate communication between a Java interpreter and a TCL interpreter.
JYTHON: JYTHON is a programming hybrid. It is an implementation of the Python scripting
language written in 100% pure Java that runs under any compliant Java Virtual Machine (JVM).
Using JYTHON, you can write Python programs that interact with any Java code.
Persistent session is concept which provides failover to session affinity. In persistent session
implemention, if one cluster member get fails then also user can continue to use session information
from another cluster member. WebSphere places session objects in a persistent store which is
accessible by all cluster members. When one cluster member get fails then other cluster member
keep continue to serve user by using same session from persistent session store by only changing
cache ID and server ID in cookie.
We can configure the session persistence in two way:
1.Database persistence
2.Memory-to-memory session state replication using the data replication service available in
distributed server environments
Q: How the tickets will come and what are the types tickets?
A: some organization will divide the tickets in two types requests and incident.
Requests are nothing but changes needed for applicatiion
incident : troubleshooting run time errors,alerts etc..
tickets should be complete with in SLA.
On call person will take care of tickes during the weekdays evening and weekends.
priority of the ticket varies depending upon environment and application criticality.
Tickets will be triggered to our team.tickets will come to ticketingtool like hpsd,Remedy etc. types of
tickets means generally tickets will be based priority like p1,p2,p3 etc.Based on the SLA tickets will
be resolved.
Q: wht order does IBM HTTP Srvr look 4 the Httpd.conf ?
A:
1) Where is the location of the index.html .. is it within the document root or within the war file ...
2) are the applications using the diffent context root
3) If yes .. have you regenerated the plugin
4) what does the plugin logs and webserver logs says ..
5) Does your application uses some redirection in the http.conf file
When the http process is running it will get linked to the http.conf file .
so when the http process starts it always mapped to a http.conf file within the IHS_HOMe/conf or
any other location ( we can specify the http.conf in other locaiton too)
When the request is received the the http process it will be checke against the specific http.conf file
and depending on the details in the file the request will be actioned.
Q: can any tell me what is meant by deployment descriptor
A: Deployment descriptors are XML files packaged with the application's files in a Java archive file.
An application contains one application-level deployment descriptor file, governing the application
as a whole. It also contains several component-level deployment descriptors, one for each module in
the application like the web modules.
The values of the application-level deployment descriptor file override any values at the component
level.
The specifications made by Deployment Descriptor are;
1. Database Connections to be made
2. Location of EJBs
3. How to implement security &
4. Other important settings.
Q: what is meant by:- do a touch to deployed ear file.??
what is exactly touch does can any one please explain
A: the only touch .. which i have heard of in the unix command touch
touch command is used to create a blank files or change the timestamp of a file to the latest
timestamp
so the syntax is usually
#touch file1 ---- will create a single blank file
#touch file1 file2 file3 ---- will create 3 files
If a file allready existed for eg .. myapp.ear
#touch myapp.ear will change the timestamp to the current timestamp .. so this is just to modify the
file
Not sure why would you touch the earfile .. i think the purpose of this could be to ensure when you
sort
the files only the one which you are intested in is seen as the latest modified ..
It doesnt tell you what time u have upadted the ear file .. it will change timestamp to the current
timestamp
for eg
if the current date and time is 12/11/2010 11:11:11
And the myapps.ear timestamp is 09/09/2010 10:10:10
if i execute the command
#touch myapps.ear
it will change the timestamp myapps.ear to current date and time ie12/11/2010 11:11:11
so it just modifies to the current time
if you want to check the modified time you can check with
# ls -l myapps.ear
Q: can any one explain me in details with example with screen shot or with doc..
How to deploy new application on production env?
A: In production env the deployments are usually script or autosys based .
This is to eliminate error while deployment and make the deployment faster if the deployment is
done graphically then procedure is the same as in other env.
ie Install Application >> browse the ear >> next .. next .. next .. finish :-) ( obviously you need to
select the appropriate mapping , virtual host etc )
As a procedure per say its normally done this way
1) Take the backup of the old ear in both PROD and DR
2) Confirm with the AD whether the ear staged is the latest one.
3) Network team flips the DNS to point to the DR
4) Do the deployment in DR
5) Check the logs and access the DR apps , test the application using the DR url
6) If the apps is working fine and its confirmed by the AD team then
7) Network Team to flip the PROD
8) Do the deployment in PROD
9) Check the logs and access the PROD apps , test the application using the PROD url
AD is Application Development and DR is Disaster Recovery
Hi Kishore
Well different companies have different procedures .. but the idea of having the DR tested before the
PROD is that .. a running system is not touched .
In case of any issue the team will have sufficient time to revert back the changes made in the DR ..
but if PROD is done first and some issues occur then the Pressure is more and the risk of downtime
increases....
Also the QA team may just do the basic functionality test in prod and not the full load and stress test
..(well they may do this before the golive . though but not once the applicaiton is live )
For that we usually have the UAT or the QA environment where the QA team can do the through
testing of the application ... These are the best practices.
But as i mentioned it differs from companies to companies but generally this is followed.
Q: what is the WebSphere App Serve 6.1 Certification
What is the WebSphere App Serve 6.1 Certification code?
A: Test 000-253: IBM WebSphere Application Server Network Deployment V6.1, Core
Administration
# Number of questions: 54
# Time allowed in minutes: 90
# Required passing score: 53%
This link will provide the sylabus etc
http://www-03.ibm.com/certify/tests/obj253.shtml
I believe the cost is around 4000 to 5000. it may vary though.
Q: how many nodes are there in your cluster?
A: In the env for a critical application its usually 3 Physical server each having 2 Appservers in
cluster so total of 6 appservers which is a hybrid cluster with horizontal and vertical cluster
Q: If I want to improve the response time and load , what can you do ?
A: Performace Tuning
Increasing the response time and load means performace tuning
Tuning is an Art and its basically trial and error to meet the best possible values which gives the best
results.
I break down the App server tuning into 2 categories
1) Webserver
2) Appserver
1) Webserver tuning
a)Optimise the MaxClients , MaxRequestsPerChild, MinSpareServers, MaxSpareServers, and
StartServers setting in the httpd.conf
b)Optimise the number of child process to be created
c)Can use the moz_zip or similar modules to compress the data send across the network
d)Let the Webserver serve the Static pages / images etc instead of the Appserver
e)Can also tune some parameters in the plugin-xml
2) Appserver tuning
a)Define the Max and Min Heap size ( would be dependent on the application requirement and
hardware limitations ) . I have observed that setting the max and Min heap identical gives a better
performance.
b)Optimise Thread Pool Settings
c)Tune EJB cache setting such as Cleanup interval and the Cache size etc
d)Tune the data sources for eg Maximum connection pool , Minimum connection pool & Statement
cache size
There are many ways though but i usually follow these.
Q: what is meant by session affinity and round robin can anyone tell me in detail?
A: Session affinity enables the Web server to properly route requests back to the same server once
the HTTP session has been created on a server.
In a clustered environment, any HTTP requests associated with an HTTP session must be routed to
the same Web application in the same JVM.
Q: HI friends
if we want to k now the cpu utilization(aix) we use topas command and we can see the
processes (Wasadmin). but can we see the utilization of single JVM .pls let me know if there is
any command.
for example
% Used 9.9
Name PID CPU% PgSp Owner NFS (calls/sec) % Free 91.1
pdacld 1028278 2.6 17.6 ivmgr ServerV2 0
vsaclien 1331344 2.5 19.5 root ClientV2 0 Press:
topas 1474600 0.6 1.6 wasadmin ServerV3 0 "h" for help
java 729324 0.3 922.8 wasadmin ClientV3 0 "q" to quit
but i want to know the cpu utilization of single JVM
A: df -g will give how much space is occupied by a single jvm
topas will give how much cpu utilization is happening....among them u can also find pid of the jvm
that you are asking...
A: ps -auxwww | grep pid
Q: what is 404&500 error? who will display it? how to resolve these errors?
A: 404 = Page not found error.if webserver does not found requested page that is requested by the
user then it displayes page not found Error.webserver takes care of this page not found error .
500 Error = Interner server error.when there is a issue at server(application server) side then
webserver throws 500 error.some there may be also problem with plugin side where webserver
throws 500 error
Q: what is cluster configuration??
A: Clusters is a group of application server which have similar state information available among
each other so that if one app server fails the other is ready to process with the request.
Along with fault tolerance they also provide workload management by routing the requests to
appropriate app servers. So cluster also enables for Load Balancing
To create a Cluster within the admin console . >> serverv >> Cluster >> New Cluster
You can create a new member or use an existing Server as a primary Cluster member
Q: can anybody help me what is jsession id and what it contains? n what is the use of it?
A: To maintain the session affinity, Websphere makes use of the cookies .. Which is maintained by
JSESSIONID
The JSESSIONID cookie can be divided into four parts:
1) cache ID,
2) session ID,
3) clone ID,
4) partition ID
A clone ID is an ID of a cluster member.
For eg if the Jsessionid value is 0000SHOQmBQ8EokAQtzl_HYdxIt:vuel491u
where
Cache ID 0000
Session ID SHOQmBQ8EokAQtzl_HYdxIt
separator :
Clone ID vuel491u
Q: I am getting out of memory exception in my log files , why this error will come and what the
steps to resolve this error? please can any body tell me?
A: As the name suggest Out of Memory means the JVM doent have enough memory to do some
process and this expection is throuwn to indicate it.
There could be many reasons why this happens
1) does it happen frequently ...
2) Does it happen during month end or specific time which would indicate some high processing or
some report generation
3) Is the heap memory assigned to the appserver sufficient for it .. if its less in this case you may
have to increase the heap and then check if if make any improvement
4) Take the heap dump and analyse it with the heap analyser to understand whats happening in the
heap
5) Enable verbose GC
6) It could also be an badly written application issue which may not be releasing the unused objects ,
hence heap getting OOM exception .. so in this case coordinate with the AD team
To generate thread dump manually,run the below command:
kill -3 <PID>, where PID is process id of application server for which you want to generate thread
dump.
In IBM Websphere, heap dump gets generated automatically whenever OOM issue in server and got
saved as .phd file.
For Generating heap dump manually and to enable automated generation, plz refer the below link:
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express
.doc/info/exp/ae/tprf_generatingheapdumps.html
To analyze the thread dump and heap dump there are various tools .. like heapanalyser and thread
analyser or samurai threaddump tool which can be easily downloaded from the net
these are just jar files which you will have to invoke ..
Heapdump Analyser
http://www.alphaworks.ibm.com/tech/heapanalyzer/download
Thead Dump analyser
http://www.alphaworks.ibm.com/tech/jca
Thead Dump analyser
http://yusuke.homeip.net/samurai/en/index.html
It also mentions how to install and run it ...
The only requirement is you would need to download the threaddump and head dump from the
server to your system and analyse it...
It can be a bit difficult to understand it .. but you could take the help of the development team to
understand it better
Q: actually how many types of tickets are there? n how to handle those ticket issues?
I mean for each type of ticket we need to follow some procedure in realtime environment.. can
anybody explain?
A1: A ticket can be raised for any issues ( OOM, Hungthreads , apps not responding, too slow
response , page cannot be displayed ....and many many more )
This forum would be a bit too small to discuss all these points but within this community many of
those issues and resolutions are discussed
Like out of Memory , Memory Leak , Hung Threads , etc
Also you could refer to Problem determination on Websphere Appserver redbook
A2: There are two types of Ticketing is ter.
1 is Incident Ticking and another is change ticket ,
Incident will be open when there is Issue or unavailable of something in prod or UAT related to
application ,
so for this you will find the application server and chk logs find the issue and then u have to give a
fix,
The Change Tkt will be opened when there is a need of change in application or to its configuration
.....RFC(Request for Change )
Like when the new EAR version is deployed to Prod,UAT, or configuring resourses like Db ,MQ for
a new application.....or any other changes to a prod or UAt env........
Q: password for Adminconsole if forget then how to retrive by own?
A: first
kill the Dmgr process id and fallow the above procedure...
in linux cmd: kill -9 <pid>
go to <DMGR_PROFILE_HOME>\CONFIG\cells\<cell name>\security.xml
u can edit by default enabled="true" u can change it to "false "
then stop the all the servers & again start.
the above process would remove protection to admin console (i.e., it ownt ask for password)....but
still u cant retrieve password.
* Ask LDAP team to reset it........
Santosh:
If the password is not saved with you or the security team ( which is very unlikely ) it will not
be easy to decrypt the passwords .. unless you have some utilities which decrypt the encryption
The best solution would be to reset it to a new pwd
Q: What is ticketing tool? what it contains ? What are the ticketing tool currently using in your
environment? n which is the latest one?
A: Ticketing tool : basically a system/software which provides solutions for the tickets,
so it means if any enduser, other teams , has any issues ,errors , problems related to the application
they would raise a ticket in the ticketing tool the tickets needs to be assigned to a resolution team
who would look into that issue Once the resolution team gets that ticket in their queue they would
acknowledge it and start working on it depending on the issue they would update and then close the
tickets.
Its similar to when you call up the technical help desk for your internet problems they open a ticket
when they resolve it they will close it ..
##########################################
The reason for a ticketing tool :
Easy tracking of the issues
Audit control .. ie who raised the ticket , who closed it etc
Grouping of similar tickets
Tracking SLA and time required to close issues
##########################################
There are many ticketing tool in the market like Perigree , Remedy , HP OPenview, OTRS( Freeware
)
Q: Can any one tell me what exactly what is key store and trust store file contains and what
purpose we create it? What is public key and private key.......?
A: A keystore contains private keys, and the certificates with their corresponding public keys.
A truststore contains certificates from other parties that you expect to communicate with, or from
Certificate Authorities that you trust to identify other parties.
http://email.about.com/cs/pgp/a/public_key_enc.htm
Q: In prod env am restated my webserver that time webserver is not be stated and given error
in log file like "password missing in .sts file" how will resolve this issue ?
(Note: password is not be expired)
A: it could be possible that the stash file has got corrupted .
Can you regenerate the stash file from the keydb ( ikeyman ) and overwrite the stash to the location
in the webserver ( take the backup of the older sth file before it )
Q: how to see the no of jdbc connections while the server is running?
A: Go to PMI there select the current activity and select the JDBC ..
There you can see the connection counts.
Q: Scenario: suppose in a cluster environment one of the servers is about to reach 100% cpu
utilizaton ,remaining servers are in normal utilization. If this is a scenario then how it will
occur and wat is the reason for that case.
A: One of the reasons could be
This could very well be possible that someone must have fired huge report or something which takes
too much of process .. and as this request is being processed by that perticular appserver it may be
showing as high CPU utilization whereas the others are normal
Or most of the requests are being processed by that server itself
1) Check the Appserver logs
2) Check the plugin logs to see which server is gettin most of the request
3) You can take a thread dump of that server to analysis what methods are been run in the heap
Q: How to install applications by using JACL scripting?can anybody tell me procedure(steps
wise)?
(I mean where to mention application name and it's resources.....and installing procedure)
A: jacl:
$AdminApp install "location_of_ear.ear" {-node nodeName -cell cellName -server serverName}
Location: \IBM\AppServer\installableApps
node name:u r nodename
cell: cell name
server: server1
try this is script. its working okkkk
Q: How to change the location of java core and heap dump in Websphere Application Server
other than by creating new custom registry ?
A: In order for the heap dump and java cores to write to a different directory, you may want to create
the following custom properties for every app server and node agent and dmgr.
Application servers > Application_server > Process Definition > Custom Properties
Name Value
IBM_HEAPDUMP true
IBM_HEAPDUMPDIR /apps/logs
IBM_HEAPDUMP_OUTOFMEMORY true
IBM_HEAP_DUMP true
IBM_JAVACOREDIR /apps/logs
IBM_JAVADUMP_OUTOFMEMORY true
IBM_JAVA_HEAPDUMP_TEXT true
Q: how did plug in know the server is down
A: the Pluign continously checks if the http tranposrt port is accessible with some sort of keepalive ..
if the plugin doesnt receive a response from the keepalive after a specifc time interval
"ConnectTimeout attribute of a Server element" the plug-in
marks the server unavailable and fails over to one of the other servers defined in
the server group.
If no clone responds within ConnectTimeout seconds, HTTP error 500 is returned
to the Web browser.
Q: Hii friends,
I have installed WAS6.0ND and I created dmgr profile and appsrv profile with same cell name
and node name , here federation process is shown error ."this node alredy existed".
so now I want to change node name and cell name.is it possible?
if it is possible plz tell me the process of renaming the node.
A: hi
please go though these llink
http://www.ibm.com/developerworks/websphere/library/samples/SampleScripts.html
there is a section for "Scripts for WebSphere Application Server configuration changes"
* change host name
* change cell name
* change node name
* change server name
* export/import the whole repository config directory
* export/import individual application server
* export/import enterprise application
* export/import JDBC Provider with associate Data Sources
you can try those
Q: what is Fault tolerance?
A: it is the setup which will enable your application to be responsive if the server / hardware crashes
so what i mean is in case of clustering it provides fault tolerance ie if one of the appservers crash
then the request is processed by the next cluster member
Q: is there is any possibility to start a cluster through command prompt?
A: you can do it using the wsadmin scripts
cluster = AdminControl.completeObjectName('cell=mycell,type=Cluster,name=cluster1,*')
print cluster
AdminControl.invoke(cluster, 'start')
Q: In fixpack installation where is the take for backup?
A: Based on your infra ...It can be another Hard disk of same machine, or a SAN storage FS or a
TApe drive .....any thing
Q: whatisthe diffeencr between heap dump and thread dump ?
A: Heap dumps is the snapshot of the active obects in the Heap memory
Thread dump -- snapshot of the threads , the methods used by the threads
Q: what is the inode ?
A: Inode is a unique number given to a file in Unix OS. Every file in Unix has a inode number.
Unix treats directories/folders as a file so they are also having a inode value.
and the OS refers using these inode no
you can check the inode by using
ls -ali --- where "i" is the inode no
Q: what is purge policy?
A: Specifies how to purge connections when a stale connection or fatal connection error is detected.
A connection in use is closed and throws a StaleConnectionException during the next operation on
that connection.
Subsequent getConnection requests from the application result in new connections to the database
opening. When using this purge policy,
There is a slight possibility that some connections in the pool are closed unnecessarily when they are
not stale
Q: how can we enable a session affinity?
i am creating cluster in which a and b are the two servers and 2 is the weight given to the each
cluster member now i am sending the request then 1st and 3rd request goes to the sevrer1 and
the 2nd and 4th request goes to the server 2 so it doesn't given the correct definition of session
affinity .
so friends can any one know the answer for this please clarify.
A: Session affinity is maintained by Cookies , SSL and url tracking
of which cookies is enabled by default
1)It could be possible that the browser is not saving the cookies thereby session affinity not
mainitained.
Check the browser settings
2) The session could be getting expired soon.
3) or the request from the browser would be a new request hence no session affinity
.. do chek the plugin loggs by enabling trace .. you can see the session details in it
Q: what is hung thread? where it will identify?
A: Hung threads are caused due to deadlock
* hung http client threads caused by network congestion or invalid transports
* database locking issues causing the j2c to be locked
* locking issues on shared collection maps, i.e. hibernate/db problems
* There is a struggle for the resource between threads
you can see these error in systemout.log
in such an issue take the thread dump and analyse it with thread analyser for the threads which
caused the issue
Q: what is false alarms?
A: An false alarm is not actually an actual issue it may be caused due to the monitoring glitch or
some other issues which generated that alarm
Q: what is the difference between the j2ee and java 2 security?
A: Java 2 Platform Enterprise Edition. J2EE is a platform-independent, Java-centric environment for
developing, building and deploying Web-based enterprise applications online.
Java 2 security to ensure security to the Websphere Environment within the applicaiton
For this there are few policy files which can be used to ensure the application has the proper rights to
access the system resources.
Java 2 security is a Websphere term where as J2EE is a generic Java term
Q: what is ripple start?
A: Ripple restart is a Rolling restart........
it means...when you ripple restart a cluster......it will restart the cluster member one by and make sure
that at least one JVM or so is available at any point. So the application runs on that cluster will be
available for production.
If you are doing any deployment ,or restart due to any change in a application in business hours
then.....at that point of time this will be useful .Finally all ur JVM's will restarted one by one and also
the application will available for production with out any down time......End user will never know
that the Cluster was restarted .
Q: We r using WAS 6.1 version and we federated two Nodes which r running on different
machines to one DMGR.But, one of the Node is going to stop mode and we started the
Node,again after 10 min the node is goin to Stop state its repeating.I am writinh the content of
the logfile systemout of Nodeagent.Can Any one explain me how to trouble shoot this
issue???????/
00001e1 DiscoveryRcv W DCSV1115W : DCS Stack DefaultCoreGroup at Member
localhostCell01\Node01\nodeagent: Member Cell01\node01\server1 connection was closed. Member
will be removed from view. DCS connection status is Discovery|Ptp, receiver closed.
Logfile of Server:
WSRdbXaResour E DSRA0304E: XAException occured. Ecception is: <null>
The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@54ae54ae.The error code was
XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException at
oracle.jdbc.xa.OracleXAResource.recover(OracleXAReource.java:703
00000025 InternalOracle I ojdbc5.jar must be used when configuring to run with 11g database in this
application server release.
A: I think above both logs information is not related to your issue.
please send SystemOut.log of DMGR and Nodeagent.
(****delete the old logs and reproduce the issue****** )
Q: what r the alternative ways to find sever status other than serverstatus.sh command in
linux?
A: you can check if the server process is running .. using
ps -auxwww | grep java
Status from the Dmgr console
Q: problem for replication......
Hi friends.....
I have a created a cluster n installed a web server. And I tired to access sample application
SNOOP through web server, but that cluster can't able to perform replication. web server
accesses only one of the cluster members which had directly connected with plugins.the others
members can't able to access. And when I stopped that accessible member , the other servers
can't able to access through web server.
And it shows the following error.
"""""""" http://localhost:82/snoop
500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your
request.
Please contact the server administrator, you@your.address and inform them of the time the error
occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
--------------------------------------------------------------------------------
IBM_HTTP_Server/6.0 Apache/2.0.47 (Win32) Server at localhost Port 82 """""""""
Can anybody solve my problem.
A: you would need to check a few things
1) the application snoop .. is it mapped to the webserver and cluster ... ie under the enterprise
application >> apps name >> map modules to server ..
ensure that the applciation is mapped to the webserver and the cluter instead of a cluster member
2) Generate and propagte the plugin
3) ensure that the pluging which your httpd.conf file is refering to is the latest one
4) open up the plugin.xml file to see if the application of snoop is mapped to the clsuter
restart the webserver and appserver if you have made any modifications
try hitting the application again
5) If it still doenst work enble trace in the plugin logs to find more about the issue
To enable Trace for JVMs
To configure the properties of the traces from the administrative console:
1. Select Troubleshooting ? Logs and Trace.
2. Select the JVM process whose trace logs you want to configure.
3. Click Diagnostic Trace. The General Properties window opens.
Change Log Level Details.
After the trace properties are configured, you must decide which WebSphere Application Server
components to trace. To do this in the administrative console:
1. Select Troubleshooting --> Logs and Trace.
2. Select the process whose trace logs you want to configure
3. Click Change Log Level Details.
As with the trace properties, the log level details can be set on the Configuration tab or the Runtime
tab.
In the Change Log Detail Levels screen , you can select which components and groups to trace. Like
, fine, finer finest , info , or any specific component
of the WAS
To enable Trace for the Plugin-cfg.xml
WebServer Plugin writes a log, by default its named as http-plugin.log, by default placed under
PLUGIN_HOME/logs/
Plugin writes Error messages into this log. The attribute which deals with this is
< Log > in the plugin-cfg.xml
Ex.,
< Log LogLevel="Error" Name="/usr/IBM/WebSphere/Plugins/logs/http_plugin.log" / >
All Error messages will be written into http-plugin.log.
To enable trace in the plugin-cfg.xml
< Log LogLevel="Trace" Name="/usr/IBM/WebSphere/Plugins/logs/http_plugin.log" / >
Recycle the IHS .. though not needed as the plugin module reloads the plugin every 1 min
To enable trace for the IHS
There is a "Log Level" directive in the http.conf file , change the vaule from info to debug and then
recycle the IHS
The valid parameters for Log Level
emerg Emergencies - system is unusable.
alert Action must be taken immediately.
crit Critical Conditions.
error Error conditions.
warn Warning conditions.
notice Normal but significant condition.
info Informational.
debug Debug-level messages
Q: how many severs will be there in prodution env?
A1: Well that depends on the enviroment .. but usually for an application in the prod there would be
atleast 2 horizontal cluter members
A2: ok i will give you an example here......
say icici has offloaded part of its contract to your company and they have given "52 applications
which are sitting on 38 servers[jvm] in a H.clustered environment which are using linux and aix
servers[os]".
you can tell this as it is in interview.
Q: what is disk off load?
A: By default, when the number of cache entries reaches the configured limit for a given application
server, cache entries are removed from the memory cache, allowing newer entries to be stored in the
cache. Use disk offload to copy the cache entries that are being removed from the memory cache to
disk for potential future access.
Procedure
1. In the administrative console, click Servers > Application servers > server_name>
Container services > Dynamic cache service.
2. Select Enable disk offload.
3. After you enable the disk offload, you can set the Disk offload location. The disk offload location
specifies where to save the cache entries on the disk. The disk offload location must be unique for
any application servers that are defined on the same node. If you have multiple servers defined on the
same node, make sure the disk offload location is different for each server.
4. Enable Flush to disk if you want cache objects that are in memory to be saved to disk when the
server is stopped. Disk offload must be enabled if you choose this option. If you do not enable flush
to disk, all the cache objects are deleted when the server stops.
5. Click Apply or OK.
6. Restart WebSphere Application Server.
Q: how to diabale JVM from creating heap dumps by default?
A: you can set an environment variable within the apppserver >> process definition >> environment
variables >>
IBM_HEAPDUMP_OUTOFMEMORY=false
Recycle the jvm, I believe this should work
Q: what is ment my EARfile and WAR file in WAS
A: WAR files (Web Application aRchive) stores XML, java classes, and JavaServer pages for Web
Application purposes.
It also contains Web modules which contains Servlet class files JSP FIles supporting files GIF and
HTML files are packaged .war( web achive) extension
EAR files (Enterprise ARchive) combines JAR and WAR files to make a combined archive for
Enterprise Applications.
The enterprise application can have many War and EJB and other j2ee components into it and this
can be run on weblogic, websphere..
and other server which supports enterprise application.
Q: what is stale connection error?
A: The Stale connection is when
1) The application tries to get a connection and fails, as when the database is not started.
2) A connection is no longer usable because of a database failure. When an application tries to use a
previously obtained connection, the connection is no longer valid.
The errors are usually seen in the systemout.log
To recover from this issue is to configure the Purge policy within the connection pool setting and
Valid values are EntirePool and FailingConnectionOnly.
ie Resources > JDBC Providers > JDBC_provider > Data Sources > data_source > Connection Pool.
Q: How to resolve an issue regarding port conflicts?
for example port is listening by one process but another process is trying to connect with that
port then raises a port conflicts, how to resolve this issue?
*with out killing the process one we need to resolve this issue.
A: There are few things you would need to know
1) Find out which process is using those port
you can do it using "lsof " command in linux
2) Once you find that process you will havet to decide is it a critical process or an existing jvm or
http process which was not cleanly shutdown hence not releasing the port
3) If its a jvm or a http process which was not shutdown properly you can kill the process
to release the port
4) If there is some other process like DB or something else you will have to find out how is it that
they are also using the same port .. you may have to get in touch with those teams who are the owner
of the process before killing it
5) If yours is a new configuration ie ( u have done a new setup ) you may have to change the port
definitions in you IHS or JVM ( which ever is causing the confilict)
So without killint the process if you want you can change your port settings or stop the other process
and then start yours .. but this will not completely solve the issues .. but you will have to still check
the above 5 points
Q: How many ways to connect to remote machine and how to connect in unix?
A: To connect to a unix machine the best way is putty using ssh
Well you can connect to a remote machine using telnet too but not recommeded due to security
issues with it .
Q: how can i find the CPU utilization time...and how to rectify the problem if it take more
down time
A: In unix there are many command which show the cpu utilisation
top , it will give all the process with their mem and cpu utlisation also there is the summary details of
the memory and cpu
iostat -- basically used for io utilisation but it also shows the cpu utilisation
vmstat -- for virtual memmory usage but also provides the cpu utilisation
if a process is using too much of cpu then .. you would need to identify why . since when , does the
log show any thing ? is it ok to restart .. are there any other process which is using too much of cpu
etc
Q: How can i find the java process in unix . then what is the command
A: the most common command id
ps -auxwww | grep java
ps -ef | grep java
Q: What is ITIL FrameWork?can explian any one about it and also about change mgt and
incident mgt?
A: n a simple term ITIL defines the process or guidelines which needs to be followed for varios IT
related process
so for eg .. if there is a change or deployment of an application in PROD , the process it is not just ..
take the ear and deploy .
as this is a change a requuest needs to be raised ..
1) sating the detailed procedures
2) Approvals of all the affected teams like , DB , Network , SA , AD and Middleware
3) The Severity of the change /deployment .. if its prod it will be risk 1 etc
4) The Backout plan in case the deployment is not sucessful
This is just an high level overview of change management
so a change involved lots of guidelines , so for any change these process has to be religiously
followed .. if it is not there is another team to check if we are following the process or not.
similarly if there is a production outage , There wil also be some process like
1) Raise a ticket
2) Assign to the team
3) Troubleshoot and mitigate the issue
4) do the RCA later
These are followed by ITIL to ensure the best services and practices are followed ..though there are
lots of concepts in it .. this is just an overview of ITIL
Change Management activities include:
• Accept Changes
• Prioritize and classify changes
• Coordinate change impact assessment
• Coordinate approval of changes
• Coordinate scheduling of changes
• Coordinate implementation of changes
• Conduct post implementation reviews
• Provide management information about Change Management quality and operations
Incident Management activities include:
* Detecting and recording incident details
* Matching incidents against known problems
* Resolving incidents as quickly as possible
* Prioritizing incidents in terms of impact and urgency
* Escalating incidents to other teams as appropriate to ensure timely resolution
http://www.orkut.co.in/Main#CommMsgs?cmm=7180&tid=5492525898104746156&kw=itil
Q: application is running fine but flash and images are not displaying what might be the
problem and how to resolve that issue.
A1: Are the flash and images available in the location proper location
Is your browser blocking the flash and images .. check those settings .
also check the permission of those files
Please check also the plugin log with trace enabled to see what happens when a flash or images is
invoked
A2: Mostly the contents for a apps will be loaded from a content management application.........so
chk the connectivity MQ resources between content mgmt and the appserver.....
If a filenet which runs on mainframe is used ...then probably you should enable trace in resource
adapter to track the connectivity ...between apps and filnet
Q: Applications are running in the test environment but after moving to production, the
applications are not running. what might be the problem and how can it resolve the issue.
A: "applications are not running" is very ambiguous . could you be more specific
Well there could be many reasons why the apps is not working in Prod .
most common reasons is configurations error .. there could be some references in the application or
the property file withi the application which could be calling the Test env or hardcoded to the old env
.
check the logs and the configurations like Datasource . an property file if used ..
Q: when request made it displaying ACCESS DENAID. what might be the prob and how to
resolve this issue
A: Check the permissions of the resources which its accessing .. also check under which user is the
apache running
Q: when we navigating the internal application of main page its working fine but when we it
clicks back it dispalying the page cant display. when againg navigating appl-1 to appl-2 its
working fine waht might be the prob. how to resolve this issue
A: This could be an application issue ..you might have to check with the Application development
team as they may have missed out some logic incase a back option is clicked
but before that .. check the IHS and websphere logs to check for any errors
Q: How we take the backup ? and manly how to install the backup file which we took when we
updated some thing goes wrong.
A: There are various backup done
1) the filesystem backup which would be done by the System Admin
2) The backup of the WASHOMe or PROFILE_HOME
one of the simplest way is tar with gzip
tar -czvf backup_date.tar <WAS_Home>
3) As a wasadmin this method is what we mostly follow
execute the backupconfig.sh within the <WAS_HOME>/bin or <Profile_HOME>/bin
executing it will stop the Appservers and take the backup of the config dir ( well we can also execute
it without stopping the appserver .. but not recommended)
it wil create a zip file in the current directory from where u execute the script
To restore the backed up file in case of any issues there is restoreConfig.sh in the same "bin" dir
just excute ./backupconfig.sh -help to get the needed syntax
First round interview with Visteon on 17-09-2010
1. What is your daily day to day activities
2. Tell me about your profile and about yourself
3. Did you install was ? if so gui or silent
4. How do you configure jdbc
5. Did you created clusters?
6. Did you worked any other application server like tomcat, weblogic ?
7. Did you worked in 24x7 support ?
8. Did you worked in migration of 6.0 to 6.1 or 5.0 to 6.0 ?
9. How do you deploy EAR file ?
Second Round interview with Visteon on 17-09-2010
1. Tell me about your daily activates
2. What is the Difference between 6.1 and 6.0
3. Diff between type 2 and type 4 drivers
4. How do you enable parameters for an application when you enable verbose GC
5. How do you deploy an EAR file
6. How do you change the context root of a war file after deploying
7. How do you generate thread dump and in which log file you can find the information
8. How webserver and appserver will communicate
9. How do you create cluster member using wsadmin
10. Did you worked with jacl/jython
11. How do you genreate thread dump in windows and solaris
12. why do you enable verbose gc and when you enable verbose gc What will happen
13. will enable verbose gc for appserver or for application, if for application How ?
14. How do you change running waits in an application server cluster ?
16. How do you test failover capability in cluster ?
17. What are the Different jvm logs and other logs in websphere ?
18. Explain the procedure to install fix-pack ?
19. What are the steps you will follow when you applying a change request ?
20. Do you have an exposure to AIX ?
21. Did you configure apache webserver ?
22. how do you load balance with apache webserver with out using a plugin ?
23. Did you analayze any dumps ?
24. When you generate thread dumps where it will store ?
25. How do you generate a plugin through command and where it will store ?
Q: How to give security for webserver?
A: There are many ways for security .. and its a broad term .
If you meant Authentication and authorization we can use the Basic , digest and Database.
http://httpd.apache.org/docs/1.3/howto/auth.html
Its for apache but should work in mose cases in IHS too
Also u could use some third party authentication .. like siteminder , ldap etc
but if you meant the internal security then
1) use SSL for the webserver
2) Ensure proper permissions for the webserver directory
3) Ensure that the webserver is running with a owner which is not the superuser and has minimal
rights
Question: What is the meaning of garbage collection in web sphere ?
Ans : The name "garbage collection" implies that objects that are no longer needed by the program
are "garbage" and can be removed/cleaned from the HEAP.
If they are not cleared up then "memory recycling" When an object is no longer referenced by the
program, the heap space it occupies must be recycled so that the space is available for subsequent
new objects.
It is run by default in the JVM to release the unused objects
Verbose gc means tracking the gc details in logs ..
we can enable verbose gc by using the 2 ways
1) Enable verbose GC n the Adminconsole >> Appserver >> Java and Process Management >>
Process Definition >> Java Virtual Machine , Check the verbose GC ..and recycle the Appserver
2) Add as JVM argument
The "-verbose:gc" option enables logging of garbage collection (GC) information. It can be
combined with other Java VM specific options such as -XX:+PrintGCDetails and -
XX:+PrintGCTimeStamps.
Q:What is the meaning of rollback
A:Rollback means revert back the transaction to the original state without a commit
And replication ?
Session Replication is copying the sessions on the different appservers in the cluster to ensure
session persistence ( ie session is not lost due to a appserver crash)
Q: what is embedded http server?
A: Having a Webserver ( eg IHS ) instead of the Embedded Webserver has many advantages .
1) Security : We wouldn't want the end user to directly access the Application server ..
so to isolate the risk we have a separate Webserver .. which then routes the request to the appsever
2) customisation : having a seperate webserver we can customise the settings ( threads , process
details , logging etc )
3) Load : A webserver performs better under heavy load
4) Load balancing / Clustering : Having a webserver we can configure Clusterning of the Appservers
Hence we generally use the IHS instead of the embedded Webserver
The embedded webserver can be used in test systems where there is very low resources ( CPU ,
Memory or Space ) but not recommended
Q: what are the log files we have to check to know the errors in our application running. please
list all log files names
A: There are quite a few logs you may have to refer for the errors
1) SystemOut.log
2) SystemErr.log
3) NativeStdout.log
4)NativeStdErr.log
5)access.log ---- Webservers
6) error.log --- Webservers
7) Activity.log
8) trace.log ---- if trace is enabled
Q: what is the d/f between generate plugin & prograte plugin?can any one tell this
A:
you can consider Plugin as an intermediate between the Webserver and the Appserver
So which means that any request to Webserver will be sent to the plugin which in turn sends it to the
perticular Appserer.
the Plugin has the information needed to do this routing to the appserver
To answer ur question
#############################################
Generate the Plugin -- as the name suggest to generate the plugin-cfg.xml
So when there is a new applicaiton deployment ,
any changes in the cluseter ( ie adding removing )
Changes to the virtual host etc
Hence plugin file has to be regenerated coz the older plugin will not contain the new information (
New apps , cluster , v Host etc)
So WAS creates a new plugin-cfg.xml and its saved withn the dmgr or the appserver at usually
<Profile_home>/config/cells/.../nodes/.../servers/webservers/
#############################################
Propagate the Pluign:
This means transfering the file from the dmgr or the appserver node to the location in the webserver
from where it will be read by the webserver .
This is the path mentioned in the httpd.conf
So once the plugin is propagated then the webserver will have the updated info of
( New apps , cluster , v Host etc) so if any request is for those resorses the plugin will redirect the
request to the right server.
Q: we have apache webserver in our environment :
1) here we are fasing trafic over problem , in our environment at one hit it acess only 50
request if more that it we are fasing trafic problem , i told if we increase cluster weight
member and heap memory size the problem will solve but they are saying without increasing
that give any soluction to resove
and another doubt can any body wil please tell the path where we will get log files in apache
webserver if we get any issue and which file we have to refer
A: Increasing the weights and heap will not solve the network bottleneck.
AS you mentioned that you are using apache .. i guess u should start looking in the configuration
settings of apache.
you can tune the Min , MAx threads ,
Child process etc within the http.conf file.
check the logs to see if the connections to the webserver has got maxed .. if thats the case increase
the count
Also check the thread pool counts .. to see if the connection from the webserver to the appserver has
maxed out.
Q: Difference between WAS6.0 6.1 and 7.0?
A: New Profiles
The administrative agent
job manager
Centralized Installation Manager (CIM) is a new feature with
WebSphere Application Server Network Deployment, Version 7.0 for distributed
platforms. This feature can be used to consolidate and simplify the steps
required to perform installations and apply maintenance on systems in the
Network Deployment cell.
Fine-grained security
In releases prior to WebSphere Application Server version V7, users granted
administrative roles could administer all of the resource instances in the cell.
WebSphere Application Server is now more fine-grained, meaning that access
can be granted to each user per resource instance. For example, users can be
granted configurator access to a specific instance of a resource only (an
application, an application server or a node). The administrative roles are now
per resource instance rather than to the entire cell.
Product information
Selecting this link opens a new page that provides information about the level
of code running on the deployment manager system and provides links for
more detailed information, including the installation history for the product and
maintenance.
The product information is stored as XML files in install_root/properties/version/dtd folder and can
be viewed without the administrative console.
In previous versions, a standalone server was always named
server1. With V7 you have the opportunity to give the server a different name
during profile creation.
JDBC 4.0 (New in V7)
IBM Tivoli Composite Application Manager (ITCAM) for WebSphere is shipped
with WebSphere Application V7
In WebSphere Application Server V7 session tracking using SSL ID
is deprecated, you should use cookies or URL rewriting.
Q: i got one issue they are telling user feeling that when he open site and he feel for 4 minutes
one the site becoming slow and and again it working fast why like that
what are the various ways that appserver come suddenly slow and and it raise up suddenly
when user hit the request and working on the page. can any one list plz the various ways
A: Are u using a clustered env.
This could be possible if one of the Appserver in the cluster is hung and the other is working fine
so the request would be first hitting the hung server and as the request is not getting processed then
the request might be diverted to other one in the cluster.
You can check with the plugin logs
also stop one server1 and test the application ..
then start that server1 and stop server2 and test it again
and what does the logs say
Let us know on the same
Q: 1)How to Enable & Disable Session Affinity in WASv6.1?
Session affinity is maintained by 3 ways
Cookies
SSL ID Tracking
URL rewriting
They can be configured at Server , Application or webmodule level .
To enable or disable it for eg under Appserver >> server1 >> session management
Remove/select the check box ... this will enable/disable the session affinity for the appserver
########
2)How to Disable Session Persistence(Memory-to_Memory Replication)?
Session persistence is not enabled by default
to enable it at the server level ..go to
Appserver >> server1 >> session management >> distributed enviroment and select which one do u
want .
is it Memory to memory or DB
depending on the selection you can configure its settings
If its M2M then we have to create a replication domain .. the size etc
##########
3)How to Enable Session Persistence using Database(Oracle,DB2)?
Session persistence is not enabled by default
to enable it at the server level ..go to
Appserver >> server1 >> session management >> distributed environment and select DB
You have to specify the JNDI name .. location of the DB .. authentication information etc.
#############
4)Cluster Has two Cluster Members named A & B,My Point is Cluster Membe.....
To ensure most of the request are handled by one of the servers we need to assign the weights to the
cluster members. which inturn modifies the settings in the
plugin.xml file.
To tune the parameters of the weights
cluster >> Select the member and assign the weights .
The weigts to be assigned should be in the ratio of the request u need to be processed
ie 4:8 which would be 1:2 should be configured in the weights field
by default the weights are 2 for each of the cluster members
as per my info plugin is the only way for LB between the IHS and WAS .. but i believe you can have
some IP sprayer which can be configured instead of the IHS
so it --- LB ---- Appserver1
---- Appserver2
Q: Can anyone tell me which cluster is advantage and why?
A: "Clusters and cluster members provide necessary support for workload management, failover, and
scalability."
cluster means to provide high availability for the enterprise applications
A cluster is a set of application servers and that are managed together
and it distributes the requests among all the nodes for an app server
There are two types clusters
1 is horizontal --> It is used in production environment
2 is vertical ---> it is used in development environment
we are having one cluster where there are two application servers A and B
so if request come and server A is busy in serving other request then new request will go to server B.
It is called workload management or u can say sharing of work
now suppose, application server A becomes down,in this case also your application is up and running
as application server B is available to serve the request
it is called "failover"
Horizontal Cluster : is when the cluster members are spaned across different physical machines
ie for Eg ..AppServer A in Machine A and AppServer B in Machine B
So the advantage is :
If a machine fails then the application is still reachable on the other machine
Better performance as each appservers uses thier own resources
Disadvantage : Cost and managebility to manage two machine.
Used in PROD system
###########################
Vertical cluster : ie both the Appserver ie A and B in the same machine A .
Advantage .. Cost and managebility
Disadvantage : IF there is an hardware problem with Machine A then the full cluster fails and the
application is not accisible.
Used in DEV env.
###########################
Mixed/Hybrid Cluster
Its a mixture of Horizotal and Vertical cluster .. This is mostly used for highly critical applications
Q: How to resolve garbage collector issue in WAS is there any lg file to check , what type of
issues we wil get because of over garbage collection.
A: Garbage collection is when the unused objects from the heap are cleared.
GC is an integral part of the JVM process .. but too much of GC is an indication of an Heap
constraint.
We can enable the verbose GC within the Appserver and this will log the details of the GC in the
native logs
Analysing this using varios tools can enable us to check the heap usage etc and optimise the
appserver and application accordingly .
1)while installing application server in silent mode, if it failed without creating any logs, how
do you trouble shoot ?
U will see a log file under /tmp in the name of log.txt ...using that you can troubleshoot
2)How appserver checks whether a node agent is started or not while starting it?
Using Node discovery process
3)What is default heapsize of dmgr, nodeagent ?
If its 32 bit build...the Min 64 and max 256
4)How do you find memory leaks? At what situation memory leaks occur –Give any 3
examples? Is there any tool to find memory leaks?
Using Heap dumps u can find the Memory leak,
3 reasons,
1,When u assing less heap memory
2, Code isues
3,No free space avilable in real memory..
tool ":: Use IBM heap anlyser
5) how can i raise a ticket?
Depends on what tool u use..
6)When your fixpack installation falied, how do you trouble shoot ?
Chk the log under WAS_HOME/logs/update/FIX_PAK_VER/Fix_ver.log and fix the issue depend
upon what error u see in the log
7) Is it possible to add one Application server to many clusters ?
No
1. When you are working in production environment, in your shift time if suddenly application
server is crashed or hung? what you will do. what are the steps you will follow?
Well the server could crash for various reasons .. like Critical error , OOM etc.
1) Log in the servers and analyse the logs ,
2) Take the thread dump at the interval of 10 -15 sec .. if there are hung threads
3) Observer if the Hung threads are getting released after sometime .
4) If the hung threads are not release and the application non responsive then will try to restart the
appserver,
5) If restart doesnt work then Kill the Process
5) Monitor the logs
6) Analyse the thread dump to check if there is any connection leak or some resource lock.
If the crash was due to OOM then take the heap dump , check if the HEap is suffiient of what . and
restart the process
Back up all the logs ..
As its a prod we cant spent too much time analysing .. take the thread dump , heap dump and other
logs backup .. and try to mitigate the issue
U may have to kill the process to come out of this situation and then analyse the dump and logs for
the RCA
######################################################
2. When you are working in production environment, if your next shift person didn't login and
you got a production call, will you attend the call or what you will do?
As its a production env you should support it if the next shift person has not logged in . unless u have
some backup . or u could call ur manager
3. When you are taking a heap dump what is the effect of the app server environment and
application request.
During the Heap dump generation it uses quite a bit of cpu and memory . so if there is a a system
memory constraint and heap dump is executed then it may take some time for the generation also the
performance of the appserver might be affected.
########################################################
4. When you are uploading a 3GB file into your application server and you found that
app.server is going to hung in the mid of transaction, what you will do in that scenario?
You can check the application server heap size .. if its too low as per the applicatin requirement you
could increase ..and try it again .
As you are aware that uploading this file causes the issue of hang .. and inspite of increasing the heap
it hans then you can also ask the Developers to tweak thier application to optimise the upload
without hanging the appserver.
Q: I have a scenario, i have 4 JVM's each one is occupying 1GB. If you want to increase the
performance of that application how do you do that?
A: Just like increasing or deceasing thread pool or the HEAp ,u will not get performance on a
application
Performance tunning is just not a straight forward Thing
Before tunning a application you need to consider the below things
1, How many user approximately expected per day
2, How many concurrent users
3,What type of application it is ?
4, No Of DB transaction per session
5, How big transactions it do ?
6, And some usage history of the application
based on this you will set the values during UAT testing and there you will tune the parameters
,Thats how the application performance can be increased in PROD.....
Blindly increasing JVM values will never increase a JVM performance
1)What is ITIL FrameWork?
In a simple term ITIL defines the process or guidelines which needs to be followed for varios IT
related process
so for eg .. if there is a change or deployment of an application in PROD , the process it is not just ..
take the ear and deploy .
as this is a change a requuest needs to be raised ..
1) sating the detailed procedures
2) Approvals of all the affected teams like , DB , Network , SA , AD and Middleware
3) The Severity of the change /deployment .. if its prod it will be risk 1 etc
4) The Backout plan in case the deployment is not sucessful
This is just an high level overview of change management
so a change involved lots of guidelines , so for any change these process has to be religiously
followed .. if it is not there is another team to check if we are following the process or not.
similarly if there is a production outage , There wil also be some process like
1) Raise a ticket
2) Assign to the team
3) Troubleshoot and mitigate the issue
4) do the RCA later
These are followed by ITIL to ensure the best services and practices are followed ..though there are
lots of concepts in it .. this is just an overview of ITIL
2)What is Incident Management, Problem Management,Change Management,Configuration
Management & Release Management?
Incident Management activities include:
* Detecting and recording incident details
* Matching incidents against known problems
* Resolving incidents as quickly as possible
* Prioritizing incidents in terms of impact and urgency
* Escalating incidents to other teams as appropriate to ensure timely resolution
Problem Management activities include:
* Recording, managing and escalating service problems as appropriate
* Analyzing historical data to identify and eliminate potential incidents before they occur
* Identifying underlying causes of incidents and preventing recurrences
* Developing workarounds or other solutions to incidents
* Submitting change requests to Change Management as required to eliminate known problems
Change Management activities include:
• Accept Changes
• Prioritize and classify changes
• Coordinate change impact assessment
• Coordinate approval of changes
• Coordinate scheduling of changes
• Coordinate implementation of changes
• Conduct post implementation reviews
• Provide management information about Change Management quality and operations
Configuration Management activities include:
• Plan for Configuration Management databases and activities
• Identify Configuration Items
• Control Configuration Item information
• Perform status accounting
• Perform verification and audit of Configuration Management databases
• Provide management information about Configuration Management quality and operations
Release Management activities include:
• Conduct release planning
• Coordinate design, building and configuring of releases
• Coordinate release acceptance
• Conduct rollout planning
• Coordinate release communications, preparations and training activities
• Coordinate distribution and installation of releases
• Provide management information about Release Management quality and operations
Q: How to enable session Affinity ?
A: Session affinity is enabled by Session Management option at various levels
ie Appserver , Application or the Web modules level .
Within the Session management there are 3 ways to do it
1) Cookies
2) SSL tracking
3) Url rewriting
Of which cookies is enabled by default .
The Session affinitiy is mainited by the cookies and the clone id within the plugin file
Q: I have installed WAS and webserver and plugins.But when I opened the admin console in
that it's not showing webserver name in the webserver list. any body can guide me regarding
this ASAP?
A: Just by installing the Webserver and plugin you will not see the webserver in the admin console
There are two ways
Method 1 :
1) Install the IHS
2) Install Plugin
3) start the admin server ie IHS_ROOT/bin/adminctl start
ensure that admin server has the write permission to plugin-xml
4) Set the password for admin server ie #htpasswd -cm ../conf/admin.passwd ihsadmin
verify the http server and admin servers are running
check http://<ipaddress/ is responsive
Create a Node
Add Node >> Unmanaged Node >
Enter the Node Name , Hostname and Platform type
Save the changes
Add Web server to the Node created above
Server >> Webserver >>New
Select the node above and the webserver name
Next >>
Enter the type of Webserver .. in this case IHS , Port , Installation Path etc
Next >>
Enter the port no of Admin Web server eg 8008 ,
enter the user ID : ihsadmin ---- Created above
Enter the password :
Next >> Save the config
sync node
check the logs
Method 2: - copy the configurewebserver.sh file from the Plugin_root/bin directory to the
/WebSphere/Appserver/bin and run the script
- copy the plugin-cfg.xml from the Application server and copy to the Http server plugins directory
and update the httpd.conf file and restart both the Appserver and webserver.
Q: What could be the various reason if a response is being delivered slow to the users
There are many reasons why the response is slow
1) It could be a some process is taking too much of CPU or memory
You could check by commands like top , ps , vmstat etc for any cpu or memory bottleneck
2) We could check the systemout.log for the any hung thread or any OOM exception
if thats the case then take the heap and thread dump for future analysis also increasing the heap may
resolve the issue
3) IT could be possible that the connection to the DB has been over utilized which would lead in the
connection leak .
We can check the PMI to see if the connection to the DB has maxed .
4) It could be some long query has been fired .. you could check with DBA too
Q: Tell me the Difference between soap.client.properties and sas.client.properties
A: soap.client.properties :
This file is used to configure the SOAP connector properties , like setting the connector properties
for wsadmin tool , Application Server commands,
Java line command, or a custom Java administrative client program
sas.client.properties :
This files contains security configurations information used by clients such as wsadmin to
authenticate with the security serverces
The important parameters are
a) loginSource -- specifies how the authentication information is obtained , the default is to prompt
the user for user id and passwrd
b) LoginUserid and loginPassword
you are right .. the soap.client.props can be used for security too but sas.client.props is also be used
but its depends as per your requirement.
In sas.client.props there is
com.ibm.CORBA.loginSource=properties
com.ibm.CORBA.loginUserid=
com.ibm.CORBA.loginPassword=
for RMI/IIOP
And both the files could be used for even SSL setups.
The PropFilePasswordEncoder.sh is used to encode the passwords directive in properties files like
1)sas.client.props
2)soap.client.props
3)sas.tools.properties
4)sas.tools.properties
Q: can someone explain the synchronization flow and operation ?
A: very file in DMGR & Node has a specific calculated number for both the file (Digest)as well as
for the folder (epoch).
Whenever any updation done in the file the digest as well as Epoch changes which is different from
from the values available in the nodes.
Whenever synchronization happens the DMGR compares the value with those with the node agent.
If the values differ then the DMGR understands that there is changes done in the file or folder & then
pushes the file to the respective nodes.
Q: Case Study
A: http://www-
01.ibm.com/software/success/cssdb.nsf/softwareL2VW?OpenView&Count=30&RestrictToCategory
=software_WebSphereApplicationServer
2)What is the command to see the CPU utilization in Linux?
Ans : There are many commands , top , iostat , sar etc
3)If you use backupCongig.bat while taking the backup it will stops the running process
instances right? Without stopping the server how can we take backup? Do you have any idea?
Ans : Its always recommend to stop the appservers before the backup . you can prevent the stopping
of the server by using ./backupCongig.bat -nostop
4)How can you analyze verbose garbage collector data?
Ans : On Alpha Works there are some garbage collector tools which could be installed on ur systems
and import the GC logs to it
5)Have you involved in performance tuning? How can we tune?
6)If there is an application it is not have been responding properly in clustered environment
how can you find out that particular problem
There could be 1000s reasons .. configration issue, application issue etc
7)What is the purpose of wsadmin scripting tool? How can you install the application through
wsadmin?
For scripting of tasks in WAS .. you could refer the was library online
8)How do you identify a request is hitting which application server in a cluster through
command?
You can check the systemOut.log or the Webservers plugin logs for it.
9)What is the use of node discovery address and tell me about scopes of your application.
When evever the dmgr process starts up it will check for the other nodes to identify the nodes status
it uses the node discovery address which is defined in the serverindex.xml (Dmgr profile)
0 comments:
Post a Comment