I'm wondering about recommendations for checkpoints in today's era of SSD drives.
Online (as opposed to sqlturbo) dates back to when was it? '93? '94? And I'm assuming that's when the whole cache started and checkpoints.
Disk I/O with a traditional HDD was very costly. You had to engage the drive, get it to spin up to speed, the read/write head had to be physically moved to the right point to read or write data. With all of these mechanical operations, this was going to take a while. And, Informix had 5 minute check points.
I just installed 14.10.12.5 and it is still setting the same default parameters of 5 minute check points.
I just wrote about a client that wasn't doing regular checkpoints (RTO_SERVER_RESTART was set to 60). My boss/owner was shocked that data wasn't being written to disk immediately. Even 5 minutes of potential loss was shocking. Per his request, (and before I figured out the cause), I created a job to do a manual checkpoint (onmode -c) every 60 seconds. Back in the day, you might say that's too often. It could still be doing one checkpoint when the next one starts.
But what about today with solid state drives?
Back in the day, I was on a Unix system and you had raw and cooked spaces and we used raw. So you had a contiguous section of disk and Informix took control of it. Sun Solaris (unix) didn't know anything about that area of disk, didn't control it. Informix had full control.
With the current system, it's Windows. So Informix goes through Windows for disk access.
And it's a windows file, not raw space carved out on the disk. So I'm not guaranteed my dbspaces files are contiguous. Plus, these are operating system files so you have to start with the root directory, navigate trough entries, find the sub directory, navigate to it, then look through it, to find out where the dbspace file starts on disk and all of it's segments. So it's SSD, but also has all of these complications. And if I recall, to get to the 75% point of a file that's not contiguous, you have to navigate serially through each piece of file to get to specific piece you need. So there's all of that.
AND, on top of that, we're on virtual servers. So the underlying files that are the actual storage for the virtual drives could be all over the physical disk drive too. Even if it looks contiguous on Windows, it could be spread all over the disk of the machine providing the VM.
So, even though they're SSD drives, there could be several slow downs.
I'd also like to state that our database at most has about 3 gb of data. And I don't think any of our clients have the memory allocated to Informix above 1gb. Most probably have the install default, which might be 128mb.
If my boss wants to stick with the 1 minute checkpoint intervals, is this something we should be able to do with SSD drives? if not, what is safe? Or what do I have to look at? I assume memory for cached pages - the more, the longer a checkpoint can take. Probably speeds of the drives. CPU on the VM.
------------------------------
Joel Schumacher
------------------------------