And I guess this question is two parts: 1. Regarding the current lemmy implementation, and 2. The activityPub protocol in general

  • fubo@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 years ago

    It’s a great question! To know this, we’d need to look into not just what the ActivityPub protocol says, but also exactly how the code base implements it, and how the server actually performs on the computers it’s deployed on.

    We might look specifically at:

    1. How many requests (and of what types) does a typical end user send to their local instance?
    2. How many requests (etc.) does an instance send to its peer instances?
    3. How is (2) controlled by the number of subscriptions, posts, or other variables?
    4. How does instance performance respond to different kinds of request load?
    5. How have instance operators tuned the Lemmy server or its backends to manage different loads?

    Because ActivityPub is built on HTTP, different types of request are expressed as different URL paths and HTTP methods. This should make it straightforward to characterize the servers’ behavior under different kinds of load (e.g. lots of local posts; lots of remote posts; lots of new user accounts; etc.)

    Doing this “for serious” as an engineering project would require some amount of testing infrastructure, e.g. the ability to replay various kinds of traffic against a Lemmy server while monitoring its performance.