How it works
First, I'll audit your application.
During this process I'll start working closely with your team to understand how your application works.
Then, I'll explore the code to uncover any performance issues.
Finally, I'll give you the information you need to know to improve the performance of your application.
At the end of the audit, you'll receive a written report. Your report will include:
- Analysis of how your application is performing
- Proposals for how to fix any low-hanging fruit we discover that will help improve performance across the board
- Recommendations for steps to take to increase the performance of your application
From there, I'll work with you to determine which performance issues are most pressing so that I can create a proposal for the work required.
If you accept my proposal, I'll move into implementation.
Once implementation is completed, I'll provide you with a detailed report showing how the performance of your application changed due to my work.
If you decide to reject my proposal, you are free to use the audit to find another developer to fix your performance issues.
What kind of performance issues can you detect and fix?
I look at your code and measure resource consumption while your application is executing.
This allows us me figure out where and how those resources are being used.
You can use this information to determine how best to improve the performance.
Which resources do you look at?
There are a few key resources I will look at to help determine whether there are performance issues with your application.
CPU Time
This is the time spent executing your application.
This is time that your application is actually running code.
High CPU time contributes to high CPU load averages and consuming too many compute resources.
I/O Time
This is the time your application spends waiting for something to happen.
During this time your application is not actually running code.
High IO time can be a sign of slow external resources, problems with local infrastructure (like disks), or problematic SQL queries.
Memory
Your application consumes memory.
This is where your application stores what it knows while it is executing.
If your application consumes too much memory, your application or site can become slow or unstable.
Network
Many applications also consume network resources.
Any time your application communicates with a resource on a different host or network involves networking resources.
This can contribute to both higher I/O time and larger-than-needed bandwidth bills when transferring data in cloud environments.