I would not change from *immed to *dly.
We had a similar issue decades ago.
IBM did a week long performance analysis on the LPAR.
Long story short, too many access paths.
Either reduce the number of access paths or buy a bigger machine.
We bought a bigger machine.
Today, switch to 100% SSD (if not already there) would be a huge benefit.
Other ways to improve access path maintenance.
1) Ensure access path size is set to *MAX1TB.
https://www-01.ibm.com/support/docview.wss?uid=nas8N1017840
2) Create the LF with the highest number of keys first, the LF with lesser number of keys will be shared.
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/dbp/rbafoshrap.htm
3) Review DatabasePerformance and Query Optimization.
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzajq/rzajqpdf.pdf
4) Avoid dynamic selects.
5) Avoid joined access paths.
5) Replace IBM i Native File Access with SQL.
https://www.nicklitten.com/replace-ibm-i-native-file-access-sql/
Paul
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Robert Wenzel
Sent: Friday, June 14, 2019 1:07 PM
To: RPG400-L@xxxxxxxxxxxxxxxxxx
Subject: *IMMED versus *DLY on Logical/Index Objects
We live on several multi-tenant iSeries LPARs running over 100 separate
environments (library lists) where there is a ton of contention every
evening when we run our "nightly job" for each (and all) of our clients
simultaneously. We are on a Power8.
In research we found that Logicals and Indexes can have their Maintenance
property set to *DLY instead of *IMMED (which has been the default).
Having over 130,000 of these type of objects in total, we are optimistic
that setting this property on the ones in which we see a small percentage
of use (where Days Used < 30% of objects age) can help DB2 better manage
database maintenance and give us better performance (smaller run times).
Has anyone out there used this protocol and have you experienced any
downsides to this?
FYI, after we implemented this protocol we encountered a batch program that
run during the early hours that was unable to perform a CLRPFM statement,
indicating the file was in use, but it was running in a standalone
environment with only one job stream. We are now concerned that setting
*DLY on the physical file's dependent logical files may be causing the PF
to be locked while DB2 decides whether or not to update the LF.
Any insight on this is greatly appreciated.
As an Amazon Associate we earn from qualifying purchases.