We are happy to announce that we have recently deployed our new forums, running Discourse! The provide a modern, pleasant-to-use dedicated discussion tool. We have tested them out with early adopters over the past few weeks, and they are a real joy to use. You can now participate too, at forums.puri.sm.
What’s special about Discourse? Besides the official list of features, you may want to read this seminal blog post where Jeff Atwood highlights the kind of thinking that went into its functional (and aesthetic) design, making it quite different compared to traditional forum software.
Our migration to a self-hosted Discourse instance brings many benefits:
Until now, the website and forums were sitting on the same server that was hosting a ton of unrelated processing-intensive things, so the web pages would have very annoying latency spikes (or even timeout errors) that would negatively impact visitors’ user experience: there would sometimes be page load delays of up to 20 seconds!
Our main server was actually boiling from all the load: the average CPU temperatures were between 80 and 100°C at all times, and the system load was often above 7 or 12 (instead of staying between 0.10 and 0.50), which is definitely “not normal” in my experience. With that warning sign on hand, I started digging. It took a while to isolate the biggest sources of overload through trial and error, but the Purism team is not one to back down from a challenge.
I’m glad to say the issue is now mostly fixed (until we find further possible optimizations). With the newly separated infrastructure, the server now has an average CPU temperature of 38 to 44°C and stays fast at all times (response times typically below 0.5 second, and that’s without a SSD on the server). More importantly, with less variables influencing each other and clouding our view, we will be able to continue investigating and improving performance further, as numbers will no longer be completely swayed off by unrelated performance hogs. We will also have the option to use SSDs if needed in the future (it was not possible due to large disk space requirements previously).
For the forums migration to happen, a chief concern of mine was to try, as much as possible, to preserve the data and discussions from our existing forums, as a token of respect to our community. And we had to find a reliable way to do it. We encountered a few issues:
I’m really pleased that the migration has been completed with all previous forum posts and users preserved, thanks to Frieder, a volunteer systems administrator who recently joined our team. He deserves huge props for figuring out the intricacies of the migration and adapting the scripts to address the issues we encountered. Thanks, Frieder!
In addition to preserving the data above, we also took the opportunity to clean up the cruft. For instance, we pruned over 400 fake or unused (zero posts) user accounts, which is yet another aspect making management and security slightly easier for this piece of our web infrastructure.
As we solved these various challenges during our migration, we naturally wanted to solve them for everybody in the future, so Frieder submitted improvements to the import scripts as pull requests, here and here. He also documented his experience (here and here) into the Discourse.org forums.
This is just another way the Purism team is contributing to Free and Open-Source software through its daily actions.
If you did not have an account before, you can simply create a new dedicated account for our forums. It’s open to all!
If you had an active account on our forums before (or if you posted semi-anonymously with your email address), your account has been migrated and you will probably have to reset your password (simply by using the “Forgot my password” feature on the login form) to get a link sent to your email address, from which you will be able to set a new passphrase/password. If you’re running into trouble, feel free to let us know at support at wp.puri.sm