Element-web: room directory is very very slow over federation as that API doesn't let you paginate

Created on 27 Feb 2017  ·  14Comments  ·  Source: vector-im/element-web

It takes at least 90 seconds to get a room list

backend bug p1 performance major synapse roomdirectory

Most helpful comment

still waiting for someone to make the directory api paginate over federation, sadly :(

All 14 comments

@erikjohnston are you seeing this performance prob?

(ftr, it has never been quick. I assume it pulls the entire room list from matrix.org before responding to the client)

yes, it is quite slow

...and it gets stuck issuing 50x's half the time :(

I've split this into two synapse bugs: matrix-org/synapse#1980 (general perf problems) and matrix-org/synapse#1981 (client-reader gets entirely wedged).

so @erikjohnston seems to have fixed the 'general perf problems' part of this, but the problem over federation still exists. Apparently this is because the publicRooms API simply doesn't paginate at all over federation.

apparently it should be usable but slow over federation (i.e. it's as slow as if you weren't paginating).

reprioritising appropriately

Current status?

still waiting for someone to make the directory api paginate over federation, sadly :(

This is going to get really bad with the advent of hosted homeservers.

I'm also not sure whether the problem is really a question of pagination or caching problems. This might also improve if we ever land the matthew/stats branch, so that the public room directory can just be pulled straight out of a room_stats table rather than having to do more sophisticated shenanigans?

Any interest in a merkle tree implementation for federation of large lists?
🤷‍♂️

Searching matrix.org now that the directory is paginated is pretty quick.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ara4n picture ara4n  ·  3Comments

richvdh picture richvdh  ·  3Comments

bagage picture bagage  ·  3Comments

richvdh picture richvdh  ·  3Comments

anoadragon453 picture anoadragon453  ·  3Comments