evpa1g
Re:Safely Rewriting Mixpanel’s Highest-Throughput Service
on Friday July 26, 2019 @04:30PM (#20538106)
Yes! You can see the p99 results here (we don't have an aggregated p95 measurement, so used p99): https://imgur.com/a/oQRbyBF
Both max and avg p99 latency became much more stable. Max appears to have gone down a little too.
Re:Safely Rewriting Mixpanel’s Highest-Throughput Service
on Friday July 26, 2019 @02:50PM (#20537329)
The bugs were typically related to general correctness or translating python semantics. The correctness-type bugs were due to the complex nature of the API. The python translation bugs were just about getting the correct behavior of statements like
if val: # ...
in Go.
Re:Safely Rewriting Mixpanel’s Highest-Throughput Service
on Friday July 26, 2019 @02:27PM (#20537126)
Hey, I'm the author. That migration was a while ago, so I had to look back at what exactly we did. The gist was our old python servers used a custom fork of eventlet (https://eventlet.net/) which didn't work well with the cloud pubsub library. The core library in itself is not unstable, but when we introduced it to the existing code it became unreliable.
Re:Safely Rewriting Mixpanel’s Highest-Throughput Service
on Friday July 26, 2019 @02:05PM (#20536886)
Hey! I'm the author of the post. I just updated it with a chart showing the gains. Roughly, I'd say about 40% decrease in CPU usage. One note I'd like to add is that the original Python code was highly optimized, and we haven't yet done a performance pass of the new Golang code. We're expecting even better gains after that's complete.