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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

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

User_OBYFR
Answer

After further troubleshooting we determined the slowness was being caused by an issue with the DNS server. After correcting the configuration on the DNS server the DB calls were responding in the expected amount of time.

Marked as Answer by User_OBYFR · Oct 15 2021
1 - 1

Post Details

Added on Oct 12 2021
1 comment
603 views