Number and size of chunks
Posted in 2018
Topics: Storage & Space Management, Triggers, Constraints & Referential Integrity, Logging & Checkpoints, Platform-Specific Issues
Hi,
I have an instance with 528 chunks running on IDS 11.70
The server is a HP-UX 11.31 with KAIO enabled and with raw devices and lvols.
The disk are SAN, aprox 25 LUNs in a combination of 30, 60 and 90 GB in size.
All chunks are 2 GB in size. The CLEANERS parameter is 120.
I would like to know if it is advisable to increase the size of each chunk and
reorder the locations of the tables, so that the number of chunks does not
increase more.
I am concerned that in the short term the number of CLEANERS is not enough for
the workload due to a greater number of chunks.
Please let me any clues according your experience
I'm sending some excerpts of relevant onstat commands.
The instance is up for 22 days.
Thanks in advance.
onstat -F
Fg Writes LRU Writes Chunk Writes
2 119362624 116202847
...
onstat -R
...
1019 m 2.0% 40 29 1118564 dirty, 999995 queued, 1000000 total, 1048576 hash buckets, 2048 buffer
size
start clean at 4.000% (of pair total) dirty, or 78 buffs dirty, stop at
2.000%
onstat -g ckp
AUTO_CKPTS=On RTO_SERVER_RESTART=Off
Critical Sections Physical Log Logical Log
Clock Total Flush Block # Ckpt Wait Long # Dirty Dskflu Total Avg Total Avg
Interval Time Trigger LSN Time Time Time Waits Time Time Time Buffers /Sec
Pages /Sec Pages /Sec
763889 16:07:51 CKPTINTVL 378244:0x10b10018 0.9 0.6 0.0 6 0.0 0.1 0.2 29529
29529 12493 40 15104 49
763890 16:12:54 CKPTINTVL 378244:0x12e03188 1.0 0.6 0.0 9 0.0 0.1 0.1 18137
18137 9324 30 8957 29
763891 16:17:58 CKPTINTVL 378244:0x157b5018 0.9 0.6 0.0 7 0.0 0.1 0.1 28167
28167 9280 30 10700 35
763892 16:23:02 CKPTINTVL 378245:0x790f4 0.7 0.5 0.0 4 0.0 0.0 0.1 28912 28912
11118 36 12194 40
763893 16:28:06 CKPTINTVL 378245:0x371008c 1.7 1.1 0.0 2 0.0 0.2 0.2 28894
26465 11947 39 13988 46
763894 16:33:10 CKPTINTVL 378245:0x6bf602c 0.7 0.5 0.0 6 0.0 0.1 0.1 25604
25604 11603 38 13546 44
763895 16:33:11 *Admin 378245:0x6bfc018 0.4 0.0 0.0 10 0.0 0.2 0.4 200 200 262
262 6 6
763896 16:36:58 *Admin 378245:0xa054018 0.4 0.1 0.0 7 0.0 0.3 0.4 1947 1947
8742 38 13400 59
763897 16:42:17 CKPTINTVL 378245:0xcdfc060 0.9 0.5 0.0 4 0.0 0.1 0.1 31085
31085 9962 31 11695 36
763898 16:47:21 CKPTINTVL 378245:0xfca7344 0.8 0.5 0.0 4 0.0 0.1 0.1 28109
28109 10823 35 11965 39
763899 16:52:25 CKPTINTVL 378245:0x126cb018 1.0 0.7 0.0 6 0.0 0.1 0.1 30474
30474 9389 30 10840 35
763900 16:57:29 CKPTINTVL 378245:0x16d29018 0.7 0.5 0.0 9 0.0 0.1 0.1 26153
26153 12025 39 18060 59
763901 17:02:35 CKPTINTVL 378246:0x3b14170 1.0 0.7 0.0 3 0.0 0.1 0.2 27028
27028 11992 39 21692 71
763902 17:07:41 CKPTINTVL 378246:0x70ad248 1.7 1.1 0.0 12 0.0 0.2 0.3 29023
27345 13220 43 13739 44
763903 17:12:47 CKPTINTVL 378246:0xb03f018 1.2 0.9 0.0 5 0.0 0.1 0.1 29566
29566 13366 43 16287 53
763904 17:17:53 CKPTINTVL 378246:0xd5595d8 1.9 1.4 0.0 5 0.0 0.1 0.1 31712
22114 8874 28 9505 30
763905 17:22:58 CKPTINTVL 378246:0xfd5a5a4 1.0 0.6 0.0 8 0.0 0.1 0.2 25124
25124 11273 36 10266 33
763906 17:28:05 CKPTINTVL 378246:0x12bad578 0.8 0.5 0.0 8 0.0 0.1 0.1 24247
24247 9316 30 11881 38
763907 17:33:10 CKPTINTVL 378246:0x158f9018 1.2 0.8 0.0 4 0.0 0.0 0.1 31988
31988 10187 33 11602 38
763908 17:38:15 CKPTINTVL 378247:0x1495018 1.4 1.0 0.0 4 0.0 0.1 0.2 30380
29107 10193 33 16961 55
Max Plog Max Llog Max Dskflush Avg Dskflush Avg Dirty Blocked
pages/sec pages/sec Time pages/sec pages/sec Time
5013 16099 3 15474 3 0
Hi Roger,
It would good to understand your wider concerns on system performance, for
example are you concerned that a longer checkpoint would adversely affect your
applications?
There is a limit in Informix 11.70 of 32766 chunks
(https://www.ibm.com/support/knowledgecenter/en/SSGU8G_11.70.0/com.ibm.adref.doc
/ids_adr_0722.htm) so 528 chunks need not be a concern in itself.
There is no requirement to keep chunks all the same size and, if you were to
move to using storagepools, the engine itself can create some quite large
chunks based on the size of a new chunk being 10% of the size of the whole
dbspace.
In my opinion if you are running 11.70 you do not need to be too concerned
about long checkpoints (although watch the use of your physical log). The
engine only performs a blocking checkpoint in a limited number of scenarios
(start of L0 backup, block for external backup, maybe others).
With this in mind you could, if anything, reduce the number of cleaners rather
than be concerned that there are too few. If you monitor your checkpoint
activity with "onstat -F" presumably you'd see very few of these active
towards the end of the checkpoint.
I don't see that you need to start moving tables around, at least not for this
reason alone. If you were to, I'd give consideration to introducing larger
page sizes where appropriate.
HTH.
Ben.