Performance Optimization Checklist of Build Servers
Build Infrastructure Level
1. Do you really need to build all source code or only the part of code which has changes?
2. Project should be divided into multiple modules/component which can be build independently and should be integrated when it needed.
3. Understand technology and make use of performance related features which will help you. e.g make, visual studio and maven has some feature which help us to compile only code which was changed also, some performance tuning features should be explored.
4. Compile dependent project only there are changes. no need to compile all the time.
5. Distribute application in non-compiled and to be compiled files. e.g src, docs and copy only src to comile. docs files cane be used while creating installer.
6. Plan for disk usage growth upfront.
Application Server level
- Apache Server optimization and proper log setting
- Disabling unused modules and component which will help performance.
- Follow best practices of Module Configuration, Apache Server Configuration etc
- Check if any background task/services is running which is consuming cpu/memory and can be stopped and not relevant.
- Keep system uptodate
- Avoid using build server for any other task – If you must edit components or install software, build or edit the components on another machine and copy them over.
- Use high speen drive for i/o operations
Build Server application level
- Keep log files maintenance and truncate regularly. have limited build records.
- Move build to document server. not to keep in build server
- Take advantage of distribute build server using agents/slaves/nodes etc