Some notes about userrepository performance with the new provider

In the previous post, I wrote about how I changed the virtual machine provider from Scaleway to Hetzner. In the days following the transition, I timed how much it took to build all the packages and sync them to the webserver, so I could compare the new provider with the previous one.

The specs are very similar: 4 vCPUs and 8GB of RAM. There is one difference, however: with Scaleway, the vCPUs were some Intel low-end ones (although they’ve upgraded to AMD EPYC very recently) and with Hetzer they are AMD EPYC. And what a difference this makes.

Previously, 250 and something packages took almost 5 hours to complete the build and sync them to the webserver. Now, it takes around 4 hours and 12 minutes to build and sync 328 packages. That’s a huge difference.

I’ve only been using Hetzer for userrepository for about a week, but so far it feels like an improvement. But I’ve yet to test the network performance.

Geekices is back (in beta)

After a small forced hiatus, is back. The Covid-19 pandemic made a hit in my income and the wife’s income, so I had to temporarily suspend non-priority expenses. During this period, I had time to consider a few things about the future of the project and decided to change the provider from Scaleway to Hetzner, mostly because the Arch image they’re using is essentially abandonware.

If you’re reading this, you’ll probably know that Arch Linux changed the default package compression to ZSTD. In order to update or install any package, you’ll need a pacman version that supports this compression and up-to-date libraries. These requirements aren’t met in older Arch images, like the one used by Scaleway, so the only two solutions were installing another distribution, chrooting into it and hack an Arch install (the solution presented to me by Scaleway support) or change provider. The second option was the less time-consuming one.

Hetzner doesn’t provide Arch by default when creating a virtual manchine, but after creating it the user can boot it in rescue mode and run the installimage script that makes the process almost a breeze. After running the script, I advise you to manually chroot and temporarily allow root logins for the SSH daemon in order to be able to login remotely after booting the VM normally.

The virtual machine configuration I chose has similar specs to the previous one with Scaleway: 4vCPUs and 8GB of RAM. In the first few hours of use, I noticed a small improvement in package compile times – but this is just my perception; I have yet to time the build times. But even things like refreshing the repository package list is faster, way faster, and that’s really noticeable.

For the time being, I’ll consider in beta state, so use it with some degree of carefulness. The source is the same, but I changed the provider and I’m evaluation the virtual machine and network performance. Let’s see how it goes.


Updates to Jarvis, my Arch buildbot

My Arch buildbot, Jarvis, received an update today in the options logic. Now, it can receive an argument in the add (-a) and delete (-d) options, so the user can specify the package to add or delete.

The option to add a package, for now, only works for AUR. If you want to add a package that’s not in AUR, you’ll need to manually add the submodule. In the future, Jarvis will allow you to use a git repository with a PKGBUILD file.

Tony Stark would be jealous. 😉