Every time I complete a large or complicated project, I try to consider a few lessons learned. Having recently been involved in a detailed technical performance assessment, I thought I’d share some generic thoughts here in hopes that it helps someone else. Read on for tips that might make your next performance assessment a success.
- Consultants or contractors: plan early, plan often on accounts and access. It can take weeks to get from paperwork to passwords.
- Think through the big picture first. I found it helpful to white board the end-to-end data flow and identify all the potential bottlenecks up front. Then I split up the work between a group of engineers, trying to match technologies to skills.
- Sections having been assigned, narrow it down. Do another data flow diagram, but this time get in to the details. What are the systems’ network configurations? How is storage set up, from hardware to filesystem? What software is running, including versions? Processor and memory?
- Collect lots and lots of data, granular statistics on everything interesting. On Linux, that probably means iostat, mpstat, vmstat, tcpdump, and sar at no more than 10 minute granularity. The application statistics are equally valuable, and I like to lean on the side of more verbosity.
- If there’s a lot of activity and/or data, the logs will grow quickly. Think about where to store all that data and how you’ll retrieve it.
- Search, read, repeat. I knew how to interpret some of the data I was collecting, but I needed help in other areas.
- Seek correlation. Data from one component should support findings in another. Graphs are tremendously useful.
- After my data was collected, I compared findings with the other engineers, still seeking correlation.
Importantly, communicate with all the parties involved regularly (this is true for all projects!). Nobody likes a surprise.
Leave a Comment