nodejs / help

:sparkles: Need help with Node.js? File an Issue here. :rocket:
1.44k stars 276 forks source link

node js taking long time to retrieve 11577 records from db2 Z/os using using ibm_db module #4432

Closed KalyanMolakalapalli closed 3 days ago

KalyanMolakalapalli commented 3 days ago

Node.js Version

v20.14.0

NPM Version

v10.7.0

Operating System

Windows 11 Enterprise

Subsystem

Other

Description

I am using node js v20.14.0 and ibm_db module to retrieve the data from IBM db2 z/os 2.7.1, I see the data retrieval is taking 20 sec to retrieve 11577 records. Need node js help to resolve the issue. [Summary]: ticks total nonlib name 5 0.1% 7.9% JavaScript 0 0.0% 0.0% C++ 19 0.3% 30.2% GC 5700 98.9% Shared libraries 58 1.0% Unaccounted

[C++ entry points]: ticks cpp total name

[Bottom up (heavy) profile]: Note: percentage shows a share of a particular caller in the total amount of its parent calls. Callers occupying less than 1.0% are not shown.

ticks parent name 5526 95.9% C:\Windows\SYSTEM32\ntdll.dll

174    3.0%  C:\Program Files\nodejs\node.exe
 82   47.1%    C:\Program Files\nodejs\node.exe
 21   25.6%      JS: ^wrapSafe node:internal/modules/cjs/loader:1255:18
 21  100.0%        JS: ^Module._compile node:internal/modules/cjs/loader:1311:37
 21  100.0%          JS: ^Module._extensions..js node:internal/modules/cjs/loader:1370:37
 21  100.0%            JS: ^Module.load node:internal/modules/cjs/loader:1195:33
 19   23.2%      JS: ^readFileSync node:fs:441:22
 19  100.0%        JS: ^Module._extensions..js node:internal/modules/cjs/loader:1370:37
 19  100.0%          JS: ^Module.load node:internal/modules/cjs/loader:1195:33
 19  100.0%            JS: ^Module._load node:internal/modules/cjs/loader:951:24
  8    9.8%      JS: ^compileForInternalLoader node:internal/bootstrap/realm:383:27
  6   75.0%        JS: ^requireBuiltin node:internal/bootstrap/realm:420:24
  1   16.7%          JS: ~lazyLoadStreams node:fs:3058:25
  1  100.0%            JS: ~get ReadStream node:fs:3205:17

Minimal Reproduction

function openConnectionsUsingPool(req, res) {

var cn = "DATABASE=DB2D;HOSTNAME=zos.ais.ucla.edu;PORT=5025;PROTOCOL=TCPIP;UID=brxdev;PWD=br1xdev";

// ibmdb.debug(true); // ==> ENABLE CONSOLE LOGS, but do not log params. <== // ibmdb.debug(2); // ==> ENABLE CONSOLE LOGS and log parameter values too if passed. <== ibmdb.open(cn, function (err, connection) { if (err) { console.log(err); return; } var query = fill in query that uses multiple join tables to retrieve the data logger.info("before calling the query>>>>");

    connection.query(query, function (err1, rows) {
        if (err1) 
            console.log(err1);
        else 
        console.log("numberof rows : " + rows.length);
        logger.info("after calling the query>>>>");

Output

no error it is taking too long to execute the query and return the results approx 20 seconds for 11577 records.

Before You Submit

RedYetiDev commented 3 days ago

Hi! This repo is for support / general help with the Node.js core, and not dependencies, such as ibm_db.