There are many ways in which administrators can enhance application performance. That was the message that Matt Holthe, founder of Breaking Par Consulting, a firm specializing in Lotus Notes and Domino development, brought to the recent Admin2000 show in Boston.
Database design is a key factor in how well an application performs, and views – which give the user an easy way to see a related subset of the documents and data in a Notes database -- are the single biggest application performance killer, claimed Holthe at the session Tips to Enhance Application Performance.
"Views are the biggest taker of disk space and resources," said Holthe. "If no one needed any views, [developing applications] would be easy."
It's the task of administrators to monitor view index sizes. "A large index often means a poorly designed view," Holthe said, noting that there are at least three means to discover index sizes: the administrator client, the Notes log database and the server console. Information shown by the administrator client includes the percentage of the database that is taken up by views. "If you see one that's 90 percent, you should be asking your developer what they're doing,'" he said.
Developers are responsible for keeping indexes minimized and only having as many views as are absolutely needed, said Holthe. For instance, he said, if your company has a 5000-user application and one user wants a special view, the answer you should give that person is a resounding "No!" He added, "You can create a private view for that person, but there's no reason the view should be stored on the server."
The Click on Column Header to Sort feature, which was added in R5 of Notes, is a feature that Holthe said "is great for usability, but terrible for view indexes," because every arrow doubles the initial view index size. "It's like having a separate view," he told the audience.
Also "horrible for performance" are time/date formulas, said Holthe, because every time a user opens a view, it tells the server "I need the index," and the server rebuilds the view. Said Holthe, "If I could be granted one wish, it would be that Lotus wouldn't allow time/date formulas in views," although he conceded the problem has gotten much better since Release 6.
Holthe recommended that administrators use the ACL settings in Domino to make sure that only authorized developers can make design changes to the application. "ACL will limit your exposure," he said.
Even though admins can enhance application performance, the lion's share of blame for a poorly performing application goes to the developers, Holthe said. "If an app is designed poorly, its poor performance will be noticeable simply by using it," he said. And no matter what anyone says, "It's not Notes' fault, it's the developer's fault.