This is the second installment of our monthly application performance review and update. You can find details about the reasonings for the performance posts here, or see the review and improvements for June.

Few incidents in July
The average application uptime for July was at 99.98%, the same as the month before, and well above the 99.9% uptime target we have.

Additionally, we only had four incidents of perceptible slowdowns or functionality being temporarily unavailable during the month.

This is down from 13 incidents in June, which is of course encouraging – but should also be considered in light of the reduced number of users logging on to the application due to summer.

Workarounds and improvements
Comparing the types of incidents we had in July with those in June, we see that the issue with emails being queued has been reduced very significantly, even considering that fewer emails were sent.

The underlying code issue has not been resolved, but by automating the process of monitoring job servers and flipping them, if necessary, we now solve any queueing issues so quickly that delays are not felt.

We are still looking at fixing and improving the code that is causing emails to queue on the job servers, but at least we now have a workaround in place that alleviates the issue.

Along the same lines, a workaround has been implemented for an issue where users could sometimes not edit data in the Journal Pro module.

We now monitor for error events and flip the servers running Journal Pro code automatically so that users no longer feel any significant impediments from this issue.

Improved stability from session state service
As detailed in the June performance review, we have implemented our own session state service.

Again, we have fewer users on the system in July than in other months, but the results are still very positive, with only a single slowdown in the application during July not related to deployment issues or similar.

We look forward to further upgrading our back-end – details still to come.

Another approach to improving performance that we will look at over the coming months will be to identify specific areas or workflows in the application that we can make faster by improving the code.

This work is still in its infant stages so it is still uncertain which areas we will focus on and what improvements we will be able to make.