Due to an influx of spam, we have had to temporarily disable account registrations. Please write an email to accountsupport@archlinux.org, with your desired username, if you want to get access. Sorry for the inconvenience.
Although the total amount of hits is not neccesarily a good metric, see the following list sorted by avg response time (shot the access.log on aurweb through goaccess):
Hits h% Vis. v% Tx. Amount Avg. T.S. Cum. T.S. Max. T.S. Mtd Proto Data ------ ------ ----- ------ ---------- --------- --------- --------- ---- -------- ---- 7818 0.37% 2425 1.98% 44.41 GiB 4.88 s 10.61 hr 17.80 mn GET HTTP/2 /packages-meta-ext-v1.json.gz 9299 0.44% 8095 6.61% 3.77 GiB 687.19 ms 1.78 hr 1.39 mn GET HTTP/2 /packages.gz 3858 0.18% 2964 2.42% 1.58 GiB 583.87 ms 37.54 mn 1.14 mn GET HTTP/1.1 /packages.gz 1554 0.07% 3 0.00% 79.01 MiB 505.03 ms 13.08 mn 3.92 s GET HTTP/1.1 /packages/librewolf-bin 1553 0.07% 3 0.00% 47.18 MiB 408.95 ms 10.58 mn 1.98 s GET HTTP/1.1 /packages/abcde 1554 0.07% 4 0.00% 44.38 MiB 310.93 ms 8.05 mn 3.07 s GET HTTP/1.1 /packages/pokerth 1551 0.07% 2 0.00% 37.97 MiB 290.62 ms 7.51 mn 2.65 s GET HTTP/1.1 /packages/buku-git 1551 0.07% 1 0.00% 30.67 MiB 238.39 ms 6.16 mn 3.00 s GET HTTP/1.1 /packages/libmp3splt 3021 0.14% 1118 0.91% 132.72 MiB 198.21 ms 9.98 mn 1.00 mn POST HTTP/2 /yay.git/git-upload-pack 1551 0.07% 1 0.00% 29.51 MiB 171.35 ms 4.43 mn 1.59 s GET HTTP/1.1 /packages/buku_run-git 641 0.03% 268 0.22% 27.14 MiB 138.93 ms 1.48 mn 22.72 s POST HTTP/2 /hyprland-git.git/git-upload-pack 1551 0.07% 1 0.00% 37.11 MiB 138.84 ms 3.59 mn 1.80 s GET HTTP/1.1 /packages/autojump 1551 0.07% 1 0.00% 29.53 MiB 130.33 ms 3.37 mn 1.79 s GET HTTP/1.1 /packages/mandelbrot-gtk-git 1553 0.07% 3 0.00% 40.97 MiB 127.29 ms 3.29 mn 2.92 s GET HTTP/1.1 /packages/mbrola 2759 0.13% 1276 1.04% 143.98 MiB 124.20 ms 5.71 mn 43.84 s POST HTTP/2 /brave-bin.git/git-upload-pack 1553 0.07% 3 0.00% 28.86 MiB 122.89 ms 3.18 mn 1.35 s GET HTTP/1.1 /packages/python-pmw 1552 0.07% 1 0.00% 31.05 MiB 122.74 ms 3.17 mn 2.88 s GET HTTP/1.1 /packages/sengi-appimage 1551 0.07% 1 0.00% 30.31 MiB 118.76 ms 3.07 mn 2.45 s GET HTTP/1.1 /packages/ncurses-life 4705 0.22% 2180 1.78% 143.41 MiB 114.15 ms 8.95 mn 38.13 s POST HTTP/2 /google-chrome.git/git-upload-pack 10163 0.48% 4759 3.88% 374.92 MiB 110.18 ms 18.66 mn 1.06 mn POST HTTP/2 /visual-studio-code-bin.git/git-upload-pack 1551 0.07% 1 0.00% 30.08 MiB 106.41 ms 2.75 mn 1.84 s GET HTTP/1.1 /packages/mbrola-voices-de5
And this is sorted by cumulative time:
Hits h% Vis. v% Tx. Amount Avg. T.S. Cum. T.S. Max. T.S. Mtd Proto Data ------ ------ ----- ------ ---------- --------- --------- --------- ---- -------- ---- 7818 0.37% 2425 1.98% 44.41 GiB 4.88 s 10.61 hr 17.80 mn GET HTTP/2 /packages-meta-ext-v1.json.gz 9299 0.44% 8095 6.61% 3.77 GiB 687.19 ms 1.78 hr 1.39 mn GET HTTP/2 /packages.gz 3858 0.18% 2964 2.42% 1.58 GiB 583.87 ms 37.54 mn 1.14 mn GET HTTP/1.1 /packages.gz 10163 0.48% 4759 3.88% 374.92 MiB 110.18 ms 18.66 mn 1.06 mn POST HTTP/2 /visual-studio-code-bin.git/git-upload-pack 1554 0.07% 3 0.00% 79.01 MiB 505.03 ms 13.08 mn 3.92 s GET HTTP/1.1 /packages/librewolf-bin 7404 0.35% 3685 3.01% 59.88 MiB 91.52 ms 11.29 mn 11.00 s GET HTTP/2 / 1553 0.07% 3 0.00% 47.18 MiB 408.95 ms 10.58 mn 1.98 s GET HTTP/1.1 /packages/abcde 3021 0.14% 1118 0.91% 132.72 MiB 198.21 ms 9.98 mn 1.00 mn POST HTTP/2 /yay.git/git-upload-pack 138093 6.58% 10445 8.53% 578.98 MiB 4.33 ms 9.96 mn 15.57 s POST HTTP/1.1 /rpc 4705 0.22% 2180 1.78% 143.41 MiB 114.15 ms 8.95 mn 38.13 s POST HTTP/2 /google-chrome.git/git-upload-pack 1554 0.07% 4 0.00% 44.38 MiB 310.93 ms 8.05 mn 3.07 s GET HTTP/1.1 /packages/pokerth 1551 0.07% 2 0.00% 37.97 MiB 290.62 ms 7.51 mn 2.65 s GET HTTP/1.1 /packages/buku-git 1551 0.07% 1 0.00% 30.67 MiB 238.39 ms 6.16 mn 3.00 s GET HTTP/1.1 /packages/libmp3splt 2759 0.13% 1276 1.04% 143.98 MiB 124.20 ms 5.71 mn 43.84 s POST HTTP/2 /brave-bin.git/git-upload-pack 1551 0.07% 1 0.00% 29.51 MiB 171.35 ms 4.43 mn 1.59 s GET HTTP/1.1 /packages/buku_run-git
So in general I think these results have to be interpreted carefully, but i.e. this tells us that generally the RPC is able to answer queries pretty fast and maybe some more general optimizsation on the /packages/ endpoint would be good.
Generally I think it would be good to get the opentelemetry stuff from sven running so we actually gain insights on what needs optimization
So getting that down would be helpful, I believe we can optimise some queries which due to the use of an ORM follow the following pattern:
for id in (SELECT ID from PackageMaintainers where Pkgbase == $ID): SELECT * from Users where ID = id
I've seen this pattern for co-maintainers, provides.
We should be able to query everything in one go, I don't have exact numbers of how many queries an average package page. I wonder if there is something like django-debug-toolbar for fastapi.
I would also suggest to run some kind of query log for a while and analyze there WHERE and ORDER BY clauses of the most used queries and maybe add some indices to the tables. This can have a huge impact on performance both in terms of load of the mariadb process and in response time of the query and as such also the request in question.