Postmortem -
Read details
Oct 7, 08:16 UTC
Resolved -
Vi vill börja med att tacka alla användare för ert tålamod och ert stöd under den period då systemet påverkades av prestandaproblem. Vi beklagar de störningar detta medförde, och uppskattar verkligen Er förståelse medan vi arbetade med att åtgärda orsaken.
Postmortem från Ungappeds produkt- och utvecklingsavdelning:
Vi har under en tid sett en gradvis försämring av systemets prestanda, som kulminerade i början av förra veckan. Under de mest belastade perioderna var stora delar av systemet i praktiken obrukbara. Vi har undersökt problemet löpande i flera veckor, men det var först när belastningstopparna återkom som vi kunde identifiera den egentliga orsaken. Det visade sig att problemet berodde på att databasen överbelastades och processorns kapacitet tog slut. Grunden till överbelastningen var den uträkning som görs för varje prenumerations kontostorlek – alltså hur många aktiva kontakter och skickade mejl som ingår.
Det som hände var följande:
• Uträkningen är i grunden betungande för databasen och dessutom långsam för användaren.
• Uträkningen utfördes för ofta.
• För att förenkla användarupplevelsen anropades uträkningen på flera sidor efter inloggning och sparades sedan för att kunna återanvändas.
• Den ökade datamängden i databasen under det senaste halvåret gjorde uträkningen ännu mer resurskrävande.
• Databasens processorkapacitet blev därmed överbelastad. När den felaktiga uträkningen hade identifierats kunde problemet åtgärdas akut genom att vi förlängde den tid resultatet sparas och återanvänds, samt minskade hur ofta uträkningen anropas. Detta löste belastningsproblemet.
För att säkerställa att något liknande inte inträffar igen har vi:
• Utökat och automatiserat våra last-tester.
• Utökat de regelbundna underhållsåtgärderna på databasen.
• Inlett arbete med att införa verktyg som tidigt kan varna om befintliga databasanrop börjar bete sig avvikande.
---
We would like to start by thanking all our users for their patience and support during the period affected by performance issues. We apologize for the disruptions this caused and appreciate your understanding while we worked to address the underlying issue.
Postmortem from Ungapped’s product and development department:
Over time, we observed a gradual decline in system performance, which culminated early last week. During peak load periods, large parts of the system became effectively unusable. We had been investigating the issue for several weeks, but it wasn’t until the load spikes reoccurred that we were able to identify the root cause. The problem turned out to be an overloaded database where CPU capacity had been fully consumed. The underlying reason was the calculation performed for each subscription’s account size, specifically, the number of active contacts and sent e-mails included.
What happened:
• The calculation itself was inherently heavy on the database and slow for users.
• It was being executed too frequently.
• To simplify the user experience, the calculation was triggered on multiple pages after login and then cached for reuse.
• The growing amount of data in the database over the past six months made the calculation even more resource-intensive.
As a result, the database’s processing capacity became overloaded. Once the faulty calculation was identified, the issue was resolved immediately by extending the cache duration for the results and reducing the frequency of recalculations. This effectively mitigated the load problem.
To prevent similar incidents in the future, we have:
• Expanded and automated our load-testing procedures.
• Increased the frequency and scope of regular database maintenance.
• Begun implementing tools that proactively alert us when existing database queries start to behave abnormally.
Oct 5, 12:00 UTC