Newground operate a web application, Legislation Update Service, which helps organisations manage their compliance with a range of legislation.
Projects I have worked on include:
- Debugging firewall rules.
- Assisting with migration to a cloud hosting provider.
- Improving internal search results.
- Refactoring of legacy code.
I also review pull requests from other developers and take part in weekly stand-ups.
Performance analysis and optimisation
One of the areas I have focused on is performance analysis and optimisation, at both the application and database level. These involved using the general and slow query logs in MySQL to identify and fix:
- Query that was being run 1000 times on each page that could be collapsed into a single query.
- Missing indexes that when added reduced a query from a full table scan to an index scan.
I also used Xdebug’s profiling mode to analyse function calls, which resulted in the identification of a single function that was called thousands of time per page, even though the data returned did not change between calls. This was fixed by moving the data into a Redis cache which was only refreshed when the data changed.