Skip to content

Render and serve fully static result pages from S3 to improve performance #380

@vlatada

Description

@vlatada

Currently, result pages are rendered by the API server and returned as HTML. Static assets including cutout images and SED fit data are fetched from S3 during this process server-side. We recently improved the efficiency of this rendering by generating compressed images (a.k.a "thumbnails") for the cutout images and SED fit plots. However, the Django database is queried multiple times during the rendering process, both to determine the location of these static images and to extract the other scientific data values displayed on the results page.

We want to explore the feasibility of rendering a complete static results page during the workflow that is stored alongside other static assets like the thumbnail files in the S3 bucket. The results() rendering function would first check if this static page file existed at a canonical location (e.g. .../result_page/2026abc/2026abc.results.html), streaming it directly from the bucket if so; otherwise rendering it dynamically as is currently done.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions