Analytics & Cognitive / Business Intelligence
If you're using the same old techniques from years ago, it's time you re-thought your approach.
Are you expecting an all-too-familiar AS/400 performance-tuning article written 15 years ago about disk arms, memory pools, and batch-vs.-interactive queries? Well, those things still matter with IBM i version 7.1, but there's a whole new raft of things you have to think about as well when tuning your system.
Is Your System Sized Properly?
I recall an anonymous company many years ago that installed a new iSeries that was head and shoulders in every level above the old AS/400 they were replacing...except the new iSeries had a low interactive CPW rating (about 75 or so). The AS/400 they were coming from had no interactive governor, and the IBM Business Partner strongly recommended the customer purchase a powerful, yet very expensive, interactive card and six additional 17.54GB disk drives for their new iSeries based on the workload of 200-plus interactive users banging away on dumb terminals. The undersized new system lasted perhaps two months before the customer purchased the interactive card and disk.
Trust your Business Partner when sizing your system. Do your homework and ask the tough questions.
Are You Still Running Older Systems?
Those of you still running V5R4 or earlier (Come on! Really?) on System i, System i5, or iSeries models can't take advantage of what IBM i on Power Systems has to offer in terms of pure horsepower. The price/performance of Power Systems running IBM i compared to systems from as few as five or six years ago is night and day. If your system's performance is not the very best it can be, perhaps you need to look at upgrading your system.
I can do all the tuning and maintenance in the world, but my 2006 Honda CRV starts to shake and shudder when I have the wife, three kids, and a trunk load of stuff heading down the highway. It's getting pretty tight with the car seats, strollers, diaper bags, groceries, and anything else I can wedge into it. It's a great car, but it's just a little past its prime and we're outgrowing it. It's only going to get worse as the kids get a little older. I'm sure I can get a 2012 mini-van with many more features and much more cubic space for a similar—if not way better—cost per month to own than the CRV. Plus, I get a new factory warranty.
The same applies to systems because storage and workloads really don't get smaller. The hardware maintenance costs alone on some older systems can probably justify leasing a new Power Systems server that runs circles around the old one.
I'll never forget upgrading an AS/400 Model 170 for a customer about 10 years ago. The system was suffering, and the customer was stubborn. They simply didn't want to spend any money, but they were forced to upgrade to keep up with a vendor that would make them pay through the nose for supporting an older OS. After the upgrade, when a morning batch job that usually ran for 30 to 40 minutes completed in about 30 seconds, the customer immediately thought I had messed up the implementation and the job had failed because of what I did. Once they understood the system was fine, they quickly started to realize exactly what they paid for. "We can do this now! We can do that now! We don't have to wait for the system!" It was like seeing shackles literally fall off the organization's technology capabilities.
By the way, I'll share with you my mantra:
No one—not ever—should have to wait for the system.
What Can We Do from a Tuning Perspective?
Because there are differences in workloads for each system and each system can be inherently unique—plus other variables are involved, such as application programming languages and bad coding practices—this article is by no means a catch-all solution.
There's a lot to cover, so let's get started. I'll break these tips down into sections and keep them fairly brief. If you're looking for more information, I'll expand on these in later TechTips or you can dig the information out yourself form the links at the end of the article.
Tuning memory pools is important. Set all of yours to *CALC, and let the system manage it. Also, the only way you'll take advantage of Expert Cache is by having your pools set to *CALC. Tuning your pools manually can have advantages in some instances, but more often than not, manual tuning won't offer you much improvement over *CALC. Steering your car with your knees allows you to eat your bagel and drink your coffee, but you may find that it's best to use your hands because you can adapt to changes more quickly and effectively.
Backup and Recovery
Use like media for your storage hardware. If you have a 400GB tape drive then use a 400GB tape.
Investigate using virtual tape. Writing to disk and then doing a DUPTAP can be much more effective than writing directly to tape. When writing to tape, each file is checked on the tape via a flush buffer to ensure that it's actually been written successfully. When saving to virtual tape, the system doesn't need that double-check because everything is saved to disk. The flush buffer is done only once when the DUPTAP is run. This means your save can be completed much faster, and you'll have the system up and running while the DUPTAP is running.
You can also set the DUPTAP to run at a less processor-intensive priority level to minimize the amount of performance impact on the system. DUPTAP is fantastic for a 24x7 shop because it lets you back up what you need and get users onto the system again as soon as possible with minimal performance issues.
Here's an easy one: line speed! If you've been upgrading and migrating for years and years, you may have your line descriptions inheriting old parameters. For instance, you could've had 10/100MB Ethernet cards on your last system and moved to a new system with 1000MB cards, yet the line speed is still set to 100MB. And half duplex.
Or do you have a 1000 Mbps Ethernet card plugged into a 10 Mbps switch with a 100 Mbps Ethernet cable? You may laugh, but it happens a lot. Your system is only as strong as its weakest link, so make sure your network is wired optimally.
Configure your virtual Ethernet adapters with jumbo frames! Lab testing confirms that 1 Gigabit Ethernet set with jumbo frames has a 12 percent increase over 1 Gigabit Ethernet without jumbo frames enabled.
Turn Packet Trainer on for virtual Ethernet lines, and turn it off for physical gigabit Ethernet lines.
On your line descriptions, configure your maximum frame size (MAXFRAME) to *LIND.
On the TCP/IP interface, accessed via CHGTCPIFC, set maximum transmission unit (MTU) to *LIND.
What does a better job? A smaller quantity of big disk drives or a larger quantity of smaller drives? More arms means better performance on the entire system, from your communication speed to your FTP transfer times. That's a fact.
What about RAID? According to some benchmark tests, RAID6 is overwhelmed by workload a little faster than RAID5. It's not a major difference but something to consider if RAID5 satisfies your requirements for protection.
Change the IPL attributes (CHGIPLA) to HDWDIAG = *MIN in order to perform only critical hardware tests. This will speed IPL time and is fine for normal circumstances unless you suspect a hardware problem.
Clean up your spooled files on a regular basis. Excess spooled files affect IPL time.
Remove old and unused device descriptions. They're checked at IPL.
IPL the system every once in a while if you can afford to because it doesn't hurt to do it as a preventive measure. Plus, it's always good to know that your IPL will be clean. I had a customer who purchased a new ERP and ran the system for six months before doing an IPL. It turned out the ERP subsystem wasn't set up in the IBM i startup program.
For Further Information...
Please check out the following links that expand on what I've talked about here. If you're investigating using any performance-management tools, then be aware that IBM offers a number of them for free.
iDoctor Please note the performance papers and articles halfway down the page
as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7, V6R1