incubator-ponymail icon indicating copy to clipboard operation
incubator-ponymail copied to clipboard

Issues with scaling; inefficient use of client resources

Open sebbASF opened this issue 9 years ago • 0 comments

The backend database should not have any problems with handling very large numbers of mailing lists and mails in each list.

However the scripts that interface with the database mostly assume that it is OK to return data from all lists or all mails (at least up to a certain limit). In the case of scripts that are directly accessed by the Javascript GUI, this means that the browser can be presented with very large datasets, requiring a lot of network traffic. This can impact browser memory requirements and potentially broadband data usage. It certainly impacts mobile data usage.

Much of the data that is returned by the scripts is not needed immediately, and may never be used. Whilst this does reduce lag, it is wasteful of client resources

For example, the initial display only shows domain names, yet the code has used both preferences.lua and pminfo.lua both of which return data about all lists as well as all domains.

Again, once a mailing list is selected, the entire thread structure (with a limit of 15k) for the current period is downloaded by stats.lua, even though only a few mails can be displayed at a time.

Also preferences.lua and pminfo.lua return some overlapping data

sebbASF avatar Oct 15 '16 13:10 sebbASF