We're running progress 9.1E on AIX. Having done some research, we've determined that nxt.db is causing heavy disk i/o on one one disk. We've attempted to mirror nxt.db, and the system shows it's mirrored the whole /db directory across multiple disk, but we're still showing heavy disk i/o on disk 10. Anyone have any suggestions for tracking down why it's still causing heavy disk i/o?
Kevin
P.S. not sure if this help, but here it is.
lslv -l db_0
db_0:/db
PV COPIES IN BAND DISTRIBUTION
hdisk10 005:000:000 100% 000:000:000:000:005
hdisk11 005:000:000 100% 000:000:000:000:005
hdisk12 005:000:000 100% 000:000:005:000:000
hdisk13 005:000:000 100% 000:004:001:000:000
I'm not sure why you think mirroring would help, but the obvious question to ask is what is on that disk? .bi? .dbn? -T? .ai?
A whole lot depends on how well tuned your system is.
The out of the box configuration for SXE is "ok" for very small installations but it really needs work for larger systems. You are running Progress 9.1E so you probably have an older release of SXE which means that it is even less likely to be well tuned. Of course I could be wrong and your system might actually be very well tuned -- if you share your startup parameters and some information about your workload (how many users, how big is the db, how busy are you) and a more detailed perspective on the systems configuration that would help.
Mirroring isn't going to make a significant difference to performance. Striping would be helpful and it almost sounds as if you may be confusing these two. (Simultaneously striping and mirroring, usually called "RAID10", is the best disk configuration.)
In the directory in question, it's full of nxt_###.d1, nxt_###.d2, nxt_###.d3, etc files. Right now I'm just trying to figure out which files are being axcess that is causing the heavy disk I/O.
Any ideas?
I would start by posting the contents of the .st or at least describing them and showing us the server startup parameters, notably -T.
Those are the data extents of the database. Why are they "the directory in question"? Is something telling you to look there?
ProTop http://www.greenfieldtech.com/protop.html has a nice screen ("File IO") that will show you which ones are getting IO.
However... it probably won't help you very much to know which of those files is busy. What you really need to know is why are they busy? ProTop can help you with that too. Instead of looking at "File IO" you should look at "Table Statistics". This will tell you which tables within the db are being heavily used. That's much more useful as it helps you to narrow down the coding issue that needs to be fixed to a specific table being accessed rather than a probably unfixable tidbit that such and such an extent is busy.
You really ought to post your db startup configuration too. As I mentioned last time there are a lot of opportunities for improvement on your system. But it is difficult to be specific without better information.
-T is a client startup parameter
Perhaps you had -B in mind?
Actually, I meant both server and client. If they have -T pointing to a directory on this same disk, the activity may have nothing to do with the database files.