Anantha Reddy

Greenhorn
+ Follow
since Jun 24, 2008
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Anantha Reddy

Hi All

how to pass the keystorePass as encrypted password in server.xml for https configuration?
ex: this is my server.xml

<Connector SSLEnabled="true" scheme="https" secure="true" port="8443"
protocol="HTTP/1.1" clientAuth="false" keystoreFile="C:\ServerDir\certs\CH_Keystore.jks" keystorePass="checpix"
keyAlias="checpix"/>

i want to pass the 'keystorePass' attribtue value as 'encrypted', but its a server or jvm level change require i think, bcz of these keystore
are stored in server level only, not in code level.

is there any way to send encrypted pwd instead of sending plain text password?
or
is there any way to send the keystore file and password through jvm level setting?

Thanks
Ananth
7 years ago
here client not ready to spend a penny as recession continues.... we are working on it, any suggestion or solutions higly appreciated
11 years ago
Hi,

We have deployed an Enterprise application 4 application servers which are pointed to single Database Schema, load will be distributed on these application servers through netscalar.

Here problem is in Database statistics are showing too many inactive sessions around 1450 ( 1500 Max session limit set), once it reached to maximum limit DB not allowing to login/open a new session.

1. how to optimize JDBC configurations to reduce no of inactive sessions?
2. what all needs to be considered while configuring Datasources (JDBC connection pooling)?
3. what is the criteria to define each parameter?

Our application using both Datasource and Datasource(vesrion 4) JNDI names for connection pooling.

DataSource Settings
>Connection timeout : 600 sec
>Maximum connections : 500
>Minimum connections : 50
>Reap Time :180 sec
>Unused Timeout :600 sec
>Aged Timeout :900 sec
>Purge Policy : Entire pool

>Statement Cache Size: 300 ( is this create 300 sessions?? )

Datasource (Version 4) settings
>Minimum pool size 80
>Maximum pool size : 350
>Connection Timeout: 2000 sec
>Idel Timeout: 2000 sec
>Orphan Timeout: 2000 sec
>Statement Cache Size:300

Application user session timeout: 40mins (set explicitly).

Appserver: Websphere 6.0.2.21
JDK: IBMJDK 1.4.2


Application users are around: 2000
Daily usage: 1600 users
Concurrent users: 200 users approx..

Database Schema Profile Settings:
> Session_per_user : unlimited
> session time out : 10 mins.


I would appreciate based on above statistics how can I optimize JDBC configs for my application and how to avoid staled connection exception?.

This post contains many queries please answer every query if possible, it is very urgent as it is production issue.

One more issue:
other issue is though there are 4 application servers are going down due to Out Of Memory issue(n no of times), though there is relatively less load.

Environment: (3 servers out of 4)
Windows 2003 ent edition
32 bit
3 Gzs processor
4 GB RAM

Otherserver:
Windows 2003 ent edition
64 bit (how much maximum heap size we can set in tis en for application server?? )
3 Gzs processor
4 GB RAM

Server1 settings:
1. Transaction Service
> Total Transaction Life Timeout: 600 sec
> Client inactivity time out: 600 sec
> Maximum Transaction Timeout : 600 sec

2. JVM Settings:
> Min heap - 320
> Max Heap -1280


3. Thread Pools
Default:
>Minimum Size: 50 threads
>Maximum Size: 200 threads
>Thread inactivity Timeout: 2000 milli sec
Webcontainer:
>Minimum Size: 50 threads
>Maximum Size: 200 threads
>Thread inactivity Timeout: 3500 milli sec

Regarding Out Of Memory (OOM), we have raised n PMRs and had analyzed heap and thread dumps done optimization at application level as IBM said application creating large objects, requesting 400 mb to allocate heap for some requests etc.... we still working on it....


With above info can any one suggest what is the best configuration for the application/application server?,, how can come out of those issues or reduce up to some extent.. what else can be done in application to optimize further.

Technology used in application:
>HTML, CSS, Java Script (huge script is used)
>JSP (with huge scriptlets)
>Java
> Custom Tag libs
> EJB 2.0 (all are BMP)
>XML, XSL
> JDBC 2.0

Design Patterns: Singleton, Front Controller, Session Facade, Service Locator, DAO,VO,MVC ,Factories, Distributed Cache(one that come with websphere itself).


awaiting for your detail and valuable replies... thanks in advance.

Anantha
SCJP 1.5

11 years ago
Hey thanks for reply..

Yeah! we have implemented the requirement like below.

now we are calling one stored proc whic is a wrapper proc which does submit 2 jobs with 2 procs and return control immediatly irrespective of those 2 job states, and we will be able to show some message to used upon submission of form.

I would appriciate if you can share any idea of implementing the same using java with less turn around time, w.rt invoking/ calling 2 stored procs parlally on submission of form.
yeah!.. it is not releted to performence, it is bit complex and general requirement
Hi,

My application flow like below.

jsp->Controller->Action->ModuleSLEJB->SubModuleSLEJB->DAO>>oracleDB


My requirement is when I submit Jsp with some action , action class calls some business metod of ModuleSLEJB which inturn calles the bussiness method of SubModuleSLEJB which in turn call the actuval implementation method in corresponding DAO class.

what method supposed to do?

It invokes 2 stored procedures with some in params. each procedure takes 10-12 mins to complete its process, once done send mail to user.

> I have to invoke 2 procs paralally within 10 or 12 mins both will complete process.
> upon submit of jsp those 2 procs should get triggered with some in params, control has to return to jsp to show some message like 'procs are invoked you will get report by mail with in 10-15 mins' irrespective of proc state(finished/running state), should not wait till pros coplete execution.

can any one suggest how can I achive that... do i have to use MDBs for that, or do I need to invoke 2 seperate threads?..(using multi threading concept)... what are the pros and cons what could be the best solution for the requirement..

Please share your valuble inputs/suggestions ...

Thanks in advance.
Anantha

[color=darkblue]Hi All,

My requirement is to migrate the J2EE application from Websphere v6.0 to Websphere v6.1.

Application is developed on IBM JDK1.3. Migrated to IBM JDK1.4.2 (one that comes with Websphere 6.0) long back.

Now it will be migrated to IBM JDK1.5.

Technologies used in Application
1. Java Script.
2. HTML
3. CSS
4. JSPs (too much scriptlets are used as per application frame work)
5. Servlets
6. EJB 2.0
7. JDBC 2.0
8. XML
9. XSL

>We are using Jakarta Ant v1.3 for buildscript, is that needs to be updated with higher version?

> is there any specific configurational chages in WASv6.1 , are there any specific performence tuning mechanisams etc.. ?


if we migrate application to WAS6.1, which fix pack we have to apply for WAS for better performence n memory management at runtime.

any links/docs/guidelines/inputs are appriciated.. n your experiences while migration....

How one can plan migration proj/where to start and where to end,what all needs to be tested apart from application Functinality etc,.. well I have some ideas and approches to implement the same... your ideas are welcome.

Thank You. [/color]
11 years ago
Hi,

We are not using CORBA at all, it is Application server throwing Tx timeout related exceptions.

Present Design:
Jsp > use for submit query, when slelet all option that particular query has to featch 450 locations data(more than 40k records).

EJB>DAX >> if we fire query on toad it is taking 15 -20 sec,

same query if we fire thru java code and featch the result, iterate the ResultSet, get and put the result in to HashTable, pass the HashTable back to presentation layer and in jsp setting content type as xls and generating the xls.

but thru java code it is not working, giving exception Transaction time out.

is there any possible and fiesable approch get the huge reults near around 1 Lac records and generating Xls file?.

We have thought generating xls through Oracle Utilities place those files in one loaction on server, develop a screen to download to client location. but it seems not that good solution.

Requirement: When user sumbit request for xls, UI should be showing wait status/progress bar, presently it is there, and it should successfully generate xls file after few mins without any exceptions so that user can save that xls report on his system.

any work aruond/any solution to serv the purpose would highly appreciable.

Thank You.
11 years ago
Hi,

We are facing issues while genarating a xl with 30000+ records from a JSP.

Generationg error:
CORBA TRANSACTION_ROLLEDBACK 0x0 No; nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK: javax.transaction.TransactionRolledbackException: ; nested exception is:
javax.transaction.TransactionRolledbackException: Transaction is ended due to timeout vmcid: 0x0 minor code: 0 completed: No

Application Architecture similar to Struts Framework, find below navigation wayforword and backwords for request and response respectively.

JSP->Action Class-->SLEJB-->submoduleSLEJB-->DAX->DB.
AppServer: Websphere 6.0.2.21
JDK: IBM JDK1.4.2

Client inactivity timeout :600 sec.
Total Transaction lifetimeout: 600 sec.
Maximum transaction Timeout: 300 sec.

Min and Max Heap: 256 and 1462.

>>firing query featching results putting into hashtable passing it to JSP, JSP will be genarating xl file. Query time to featch result from DB (oracle 10G) 1 min only in production.

Can any one sugeest how resolve the issue
1. by tunning parameters (what all parameters required to tune to what extent)
2. What is the right design for that requirement, at times query may have to featch 100000+ records, each record is having 40 columns.


would appriciate if any one shed lite on this.

Thanks
Anantha
11 years ago

Originally posted by Paul Sisco:


I agree completely! You should do some tests with thread pools using different numbers of threads. You will see performance improve up to a point, then performance will degrade as you add more threads. The job being performed by each thread is a big factor, so the right number of threads for best performance can be different for different systems.

Another thing to consider is whether you want new threads for each execution, or if you want the threads started once and they will pull from work from a queue.

It will be a fun exercise, and you will learn quite a bit from it.



Hi Paul and ULF,

Thanks for informative replys,

Paul: i would like to calrify your Query.. Each thread job is to process the the given no of records and die, my requirement is to invoke new threads up to maximum with some no of records to each thread to processes.

We have to tranfer this data from 1 DB to another DB by using Third Party System(Mainframe sys), can pls you detail(shed lite)on how this type of scenario can be implemented with Queue.

We are using IBM JDK1.4.2.
Server Config: Windows Server 2003, no of processors 2, 3.20 Ghz, RAM 4 GB.

We have analysed the laste 15 days data and found that our environment supports maximum 130 threads to process maximum no of or records per minute.

According to above inputs if you detail further that would be great help.

Thank You.
[ June 29, 2008: Message edited by: Anantha Reddy ]

Originally posted by Ulf Dittmer:

I'd be careful to make generalized statements like that. 130 threads is not an unreasonable number for a multi-core server.

Furthermore, we don't know what the threads are doing. There might be external circumstances that ensure that only a few of them are CPU-bound at any given time.



Hi,

my sysstem configuration is 4GB RAM, dual core processer where this batch invoked, and creeseponding DB server config is 32GB RAM and 8 Dual core Processor.

Each Thread responsibility is looking up third patry sys URL(Developed on mainframes)once and execute its process with some input data, each thread will process 500 records one by one, Third party sys supports 200 concurrent users (in layman terminalogy we can say each thred = 1 user (online user))

presently it is proceesing 200 records P/M when thread count reaches to 140 and getting struck, hence we would like to get rid on no of threads invoked and optimal use of threads to complete the batch AEAP.

in above scenario it is processing 12000 records p/h. on peack load batch may have to process 120000 records, when no of records ranges from 10000 to 40000 no of threads invoked is comparitively less, hence no of records processed P/M is less, which inturn causing the delay in completion of batch

if i reduce the denominator 350 to some low no, as there is no control over no of threads Invoked, if there is huge no of records to be processed(say 60000+ records) system will hang.

if any one can suggest some other approch or how do i effectively implementnt earlier i have given approach will be highly appreciated..

Thanks for your efforts...expecting good solution if some one come accross such kind of implementation

[ June 28, 2008: Message edited by: Anantha Reddy ]

[ June 28, 2008: Message edited by: Anantha Reddy ]
[ June 29, 2008: Message edited by: Anantha Reddy ]
Hi,

My requirement is to improve the batch execution speed by using maximum resouces of system.

Present batch execution.
1. We read no of records from DB in a java a program which needs to be tranfered to third party system.
2. For every 350 (put it in to Vector) records we start new Thread which in turn communicate with third party front end system(legasy) and process 350 records 1 by one,which inturn process and update its DB.
3. here we are invoking a Thread for every 350 records,here the problem is system proceesed 6000 records in 135 min and other day it took same time 135 min to process 12000 records.

here the diff is no of threds invoked to process records, say 6000/350=17 threads , 12000/350=34, batch is getting struck when it reaches140+ Threads, hence we have monitored and can conclude that our Env supports onlly 130 Concurrent threads.

Now i would like to pass the denominator (350) dynamically based on no of records to be processed.
ex: if there are only 350 records to process todays batch i will invoke maximum threads 130 and shre the the records on equal ratio to process, hence i will get maximum throughput.

Here challenge is I should make sure there should always 130 threads running in my env when batch starts, when ever some threads complete its work goes dead stage, i have to find how many threads are alive (Thread.activeCount()) after every some time intervel (Here I would like to use timer) , and invoke those no of threads agin (130-livecont) till the end of the batch.

I woul like to parameterise no of threads to be invoked and Time intervel to check for live thread ount.

can any one shed the light on above implementaion.

my requirement is:
1. needs to find out live count of threads after every 1 min (say), how to use timer or some thing else can be done?
2. Thread.liveCount() is enough to track live threds or any other work around?
3.how do i utilize timer in this scenario?
4. is it cause any memory issues like Gorbase Collection etc...


Here I am providing code sample that i am using presently.



if you need some clarifs someware on this topic pls mention.

Thanks in Antisipation...
Ananth