Skip to Main Content

Programming Languages & Frameworks

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Slow response time for createPool method

User_OBYFROct 12 2021

Hello,
We recently started seeing slow response times when calling createPool from our NodeJs application to our Oracle DB. Previously these calls were taking 1-2 seconds and now they are taking 6-8 seconds. Our NodeJs app is deployed as a AWS Lambda function.
We have engaged our DBAs, but they are having trouble finding any logs corresponding to the createPool method call.
We're looking for suggestions on how to pinpoint the source of the slowness. Is it our NodeJs code? The Oracle DB? Or perhaps it's a network issue. Any help would be appreciated.
Below is the snippet of code that is creating the pool:
var AWSXRay = require('aws-xray-sdk');
const oracleDB = require("oracledb");
const mysql = require("mysql2/promise");
const getConfig = require("./dbconfig.js");

const getDb = (dbType) => {
const databases = {
oracleDB: oracleDB,
mysql: mysql,
};

return databases\[dbType\];  

};

async function connector(_dbName, dbType, state) {
const db = getDb(dbType);
const seg = AWSXRay.getSegment();

let status;  
try {  
    !state\[\_dbName\] ? (state\[\_dbName\] = {}) : null;  

   if (!state\[\_dbName\].dbconfig){  
        let sub = seg.addNewSubsegment('getConfig');  
        state\[\_dbName\].dbconfig = await getConfig(\_dbName, dbType);  
        sub.close();  
   }  

   if( !state\[\_dbName\].pool)  
    {   
        let sub = seg.addNewSubsegment('createPool');  
        state\[\_dbName\].pool = await db.createPool(state\[\_dbName\].dbconfig);  
        sub.close();  
    }  

    status = "success";  
} catch (error) {  
    status = "\[Connection creation error\] Error:" + error.message;  

    console.error(status);  
}  
return status;  

}

module.exports = connector;

This post has been answered by User_OBYFR on Oct 15 2021
Jump to Answer

Comments

Cezar Santos
Hi,

In your "Master Repository Creation" there is the DB2 technology to be chosen... and you can test if the connection works fine.

It is very easy to execute it.

Work for you?


Cezar Santos
[www.odiexperts.com]
741164
Hi Cezar,
Thanx for ur reply...
I am trying to connect to repository But I am confused abt< property> & <value> field of the URL Tab.I am not able to understand the description "Connection properties. Refer to the driver's documentation for a list of available properties."
Thanx again..
Cezar Santos
As far as I know you don't need them in a conventional connection.

Quit it from the url!


Cezar Santos
[www.odiexperts.com]
741164
Hi Cezar,

Thanx again for ur reply...
I have done as you said but still getting error as "Connection Failed" as follows

*com.ibm.db2.jcc.am.yn: [jcc][t4][2043][11550][3.57.82] Exception java.net.ConnectException: Error opening socket to server localhost/127.0.0.1 on port 50,000 with message: Connection refused: connect. ERRORCODE=-4499, SQLSTATE=08001*

Regards,
Mandar
Cezar Santos
Are you sure about connect to localhost?

I don't know DB2 messages so well to help you with the error...

Did you google it?

Cezar Santos
[www.odiexperts.com]
721646
Hi Mandar,
Just to confirm what is the operating system installed on your machine?
741164
windows XP
741164
hi cezar,
my issue is soleved.the reason is that i had not created the libraries ie databases where i can host the repositories.Again problem with it was that unlike oracle,you can't create the user at database level in IBM db2.So I created the user at os level granting the access to repository. then created the repositories.
Thanks for ur help.Your odiexpert.com was also helpful
Cezar Santos
Good to know that [odiexperts.com] helped you, but, above that, good to know that you got the problem solved!!!


Cezar Santos
[www.odiexperts.com]
1 - 9

Post Details

Added on Oct 12 2021
1 comment
725 views