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,
Post an idea
Upvote ideas that matter most to you
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
See this idea on ideas.ibm.com
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 :
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!) |
By clicking the "Post Comment" or "Submit Idea" button, you are agreeing to the IBM Ideas Portal Terms of Use.
Do not place IBM confidential, company confidential, or personal information into any field.