Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Future consideration
Workspace Db2
Components Workload Management
Created by Guest
Created on Nov 29, 2021

Application connections storm slow downs the DB response

I've been assisting with an ecommerce site. During typical days, let's say non-peak/low volume of orders, the DB response is always good.

However, the DB response time slows down for a few seconds, notably during peak season/high amount of orders.

BOOMs !! it will ultimately happen whenever an application connection storm occurs !!

Let me explain a little about how DB/App is configured for this :

  1. DB server is configured with high resources in terms of memory/CPU etc ..

NUM_POOLAGENTS and NUM_INITAGENTS with a value of 1000

2. The database had default 168 established connections (14 JVMs x 12 connections).

Now with the JVMs' WebContainer pool completely saturated, the number of connections surged all the way to 600( 14 JVMs * 42 WebContainer threads = Connections).

A connection storm was created in a matter of a second, and DB was unable to assign the delta new connections 360 on the fly.

This resulted in DB connection spikes and reduced DB response time.

As we know, creating a connection has a cost. The database needs to handle the tcp connection, allocate memory and create the agent. If a large number of connection requests is received in a very short period of time, this can bog down the performance of the database to a point that it can appear to be unresponsive.

If we can play around with DB parameters like NUM_POOLAGENTS and NUM_INITAGENTS by keeping the values of 1000 , automatic etc ..

it doesn't help during the connection storm . The more connections to the database server, the slower the DB response is, which in turns drives even more new connections to the database.

Remember, as the DB is slow, requests take longer in the AppServer and new requests need new threads and new connections.

during connection stream , I've noticed a lot of outbound connections with NULL values which means that most threads waiting on the outbound Web Service call

Example for connection storm :

No.of Connections

Peak /Non Peak

Jump and diff in DB connections

Spike Status

1st event

168

Non Peak - Low

ALL JVMs established connections

No spikes /DB response is GOOD

2nd event

180

Non Peak - Moderate

28

No spikes /DB response is GOOD

3rd event

198

Non Peak - High

18

No spikes /DB response is GOOD

4th event

230

Peak -LOW

232

A minimal spike /DB response is GOOD

5th event

290

Peak moderate

60

A spike with impacting DB response

6th event

450

Peak - High

160

A huge spike impacting DB response badly

Solution :

Nothing can be done at the database layer; just increase the number of JVM connections to the database during peak season, when the highest value is targeted.

Let's imagine in the scenario , just increase the number of established connections from 168 to 600 (14 JVMs x 12 connections) (14 JVMs x 42 connections). And maintain the largest number of connections in the database to manage the application storm.

Once peak season is over, re-configure the JVM connections to normal.

Needed By Yesterday (Let's go already!)
1 MERGED

Application connections storm slow downs the DB response

Merged
I've been assisting with an ecommerce site. During typical days, let's say non-peak/low volume of orders, the DB response is always good. However, the DB response time slows down for a few seconds, notably during peak season/high amount of orders....
about 3 years ago in Db2 / Workload Management 0 Future consideration