on 07-20-2011 10:27 AM
Hi,
We configured Proxy to PI to JDBC, interface is working fine when getiing around 10,000 records. We are facing problems when there are 40000 to 50000 records. Cant PI handle these many records.
PI is going very slow and and nearly taking 2-3 hrs for processing records to target system.
What was the reason and please let me know how to achieve this process.
Thnaking you,
Hari
Hi Hari,
First of all using proxy the performance will be good than using adapters. So basically the issue is not with the proxies. It may be the peoblem with the configuration and the process which you are following.
If you are getting data from multiple interface which means that multiple applications. If you are inserting all the inerfaces data into same table better you can use stored procedure instead of standard functionality . If you are using this stored procedure the execution will be happen at database side. In this case it will not take much time to process the records to database.
Regards,
Raju
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi,
when the records numbers is up.....automatically the db performance will goes down.....it will pick up the file slowly....finally it will process success.
regards,
kesava
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
one more suggestion..
create one stored procedure on target side...pass ur entire source xml as a xml string input to the target SP..
Chk with DB team they will parse that XML string at database level and do the necessary SQL operations....so by doing this u r passing entire source data at a single go to the SP which will results into performance improvement...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Hari,
As mentioned above by Raja because of les number of threads allocated while accessing to your DB. That is the reason for being slow.
Regards,
Naveen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Only one interface going to process 40k messages at a time?? if yes
first you have to understand JDBC adapter can process only 5 messages parlelly, even you specify maximum concurenecey 50 , it will process only 5 records at a time.
that is the reason it is taking long to insert data in to data base.
you can increate the thread allocation for JDBC adapter to 10 like that in this case it will take lessa time.
Regards,
Raj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Hari,
Though you have only 4 interfaces interacting with DB and 2 with arround 40K msgs my better suggestion is to increase the Thread allocation so that you would be able to see the betterness...
Also you can use the option Disconnect from Database After Each Message Processing so that after processing the message the connection will disconnect.
Thanks and Regards,
Naveen.
Even with increasing thread count for adapter might increase only slight improvement. If you could alter the design to use Stored Procedure on the target structure side will certainly give better performance for the high volume mesg interfaces. We have seen using insert statment for every record vs using Stored Procedure makes a big difference.
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.