FIXED vs VARIABLE AI EXTENTS.
========================
Hi Tom,
You asked "what" poor performance we had with variable AI extents - so the following is what we found.
First, to explain the environment, we are a water utility company. One very important requirement almost every night is to produce customer bills -- many, many thousands of them. It's rather time critical, because the bill files are sent overnight to a printing company to have them printed and delivered the next day. Since the job of producing bills is "important" -- and involves a lot of update activity -- and we do it almost every day -- we used it as our performance benchmark.
The platform used for all tests was a Sun V480 with 4 x CPU and 16 GB memory. All discs are Ultra160 SCSI. All discs are mirrored and striped via software. The AI file extents are all on a dedicated disc drive (also mirrored).
Over a number of tests, the following are the average results for the number of bills we could process in one minute:
8.3E (no AI) -- 518
9.1D05 (no AI) -- 379
9.1D05 with AI (var ext) -- 119
9.1D06 (no AI) -- 590
9.1D06 with AI (var ext) -- 303
9.1D06 with AI (fixed ext) -- 566
There was a significant performance problem with 9.1D05 under Solaris -- which is why we moved to service pack 06.
With SP 06, as you see, with AI enabled and using fixed AI extents, the performance loss from using AI was about 5% -- which was quite acceptable to us. But with variable extents, the hit was over 45% -- which we just couldn't tolerate.
However, as I mentioned in a prior post, we did NOT want to use fixed extents -- because that would consume a lot of disc space (for the saved files) and would create a much larger data volume for transmission to our remote backup site. We were forced to accept the (considerable) difficulty that the fixed extents imposed -- because that was the lesser of the evils. All we could do is lessen the impact of the bloated files size problem by switching AI files every hour, which was less often than we would like (every ten minutes). Also we created "lots" of small fixed AI extents (50).
We lived with this compromised situation for about 18 months until we discovered that in SP 09 Progress had released a new feature in rfutil which allowed a fixed extent to be copied such that only active data was copied -- thus stopping the "bloated file" problem. We moved to SP 09 and found that performance was not measurably changed but because of the new rfutil "aimage extract" function we could reduce the number of AI extents from 50 to 10 -- but increase to size of each to 500MB -- and switch AI the the next extent every 10 minutes -- with no problems at all.
Our conclusion, from the tests we performed, was that using variable AI extents in a heavy-update environment was shear disaster, from a performance aspect. And, now that the "bloated file" problem is solved there just doesn't seem to be any advantage at all for using variable extents. (Unless, perhaps, one is critically short of disc space.)
Ron.