Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simorgh performance profiling #6922

Closed
chris-hinds opened this issue Jun 16, 2020 · 4 comments
Closed

Simorgh performance profiling #6922

chris-hinds opened this issue Jun 16, 2020 · 4 comments
Assignees
Labels
cross-team For visibility for both World Service teams (Engage & Media) investigation performance technical-work Technical debt, support work and building new technical tools and features
Projects

Comments

@chris-hinds
Copy link
Contributor

chris-hinds commented Jun 16, 2020

Description

During the last loadtest on Simorgh we saw it scale to 8 instances with a peak CPU utilisation of ~65% across the 8 instances. For load traffic profile of just 105 r/ps this seem very high.

We should try and identify any potential performance bottlenecks in the Simorgh application and the express server in a bid to see if we can spot any issues, e.g. long running functions, synchronous tasks, async data fetching etc.

Or is JS and React SSR just resource heavy in general?

There are a number of different node profiling tools that we can use on our local machine to to simulate load and to build a picture of what is actually happening when rendering pages. This may help us to identify areas for improvement.

Some tools that come to mind are:

This issue should be worked on as a group, different members of the various WS teams have used these profiling tools before and it would be good to get together as a small group and run a session on profiling the Simorgh application and seeing what we can find.

  • output of this would be to create issues to identify what needs doing.
@chris-hinds chris-hinds added Refinement Needed This is ready for refinement. It shouldn't be worked on until it has been refined by Dev & Test. ws-articles Tasks for the WS Articles Team labels Jun 16, 2020
@chris-hinds chris-hinds added this to To do in Simorgh via automation Jun 16, 2020
@rhenshaw56 rhenshaw56 added investigation ws-media World Service Media performance technical-work Technical debt, support work and building new technical tools and features and removed Refinement Needed This is ready for refinement. It shouldn't be worked on until it has been refined by Dev & Test. labels Jul 15, 2020
@rhenshaw56 rhenshaw56 added this to Backlog (Ready for dev) in Simorgh Jul 15, 2020
@karinathomasbbc karinathomasbbc added cross-team For visibility for both World Service teams (Engage & Media) and removed ws-articles Tasks for the WS Articles Team ws-media World Service Media labels Jul 20, 2020
@simonsinclair simonsinclair self-assigned this Jul 27, 2020
@simonsinclair simonsinclair moved this from Backlog (Ready for dev) to Issue in Progress in Simorgh Jul 27, 2020
@simonsinclair
Copy link
Contributor

I started looking into this this morning and added some initial thoughts to https://paper.dropbox.com/doc/Simorgh-SSR-performance--A4hTqJpWFm5zO42rxhdgLpSqAQ-z1ffIgMu97RMinpYS4blG.

@joshcoventry
Copy link
Contributor

@simonsinclair Is this now blocked until we can progress updating styled components to v5, is there anything else we can do?

@simonsinclair
Copy link
Contributor

simonsinclair commented Aug 14, 2020

@simonsinclair Is this now blocked until we can progress updating styled components to v5, is there anything else we can do?

It's not blocked, but needs some more time allocated to progress following a decision in the WS Tech group on Tuesday. We discussed yesterday that that time might be in a week following the Ad's kick-off and Ukrainian STY release.

The work will involve a proof-of-concept and require a release candidate of all packages in Psammead.

@simonsinclair
Copy link
Contributor

A number of issues have been completed following the initial profiling conducted in relation to this issue – each one nudging us towards migrating to Emotion, which is now the agreed direction. This issue will now be closed.

The following issue has been created to track the migration from Styled Components to Emotion:  #7772.

Simorgh automation moved this from Issue in Progress to Done Sep 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cross-team For visibility for both World Service teams (Engage & Media) investigation performance technical-work Technical debt, support work and building new technical tools and features
Projects
No open projects
Development

No branches or pull requests

5 participants