Heavy disk I/O

Posted by Admin on 26-Jan-2009 15:30

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

All Replies

Posted by Thomas Mercer-Hursh on 26-Jan-2009 18:33

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?

Posted by ChUIMonster on 26-Jan-2009 20:27

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.)

Posted by Admin on 16-Mar-2009 12:57

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?

Posted by Thomas Mercer-Hursh on 16-Mar-2009 13:02

I would start by posting the contents of the .st or at least describing them and showing us the server startup parameters, notably -T.

Posted by ChUIMonster on 16-Mar-2009 13:16

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.

Posted by ChUIMonster on 16-Mar-2009 13:17

-T is a client startup parameter

Perhaps you had -B in mind?

Posted by Thomas Mercer-Hursh on 16-Mar-2009 13:21

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.

This thread is closed