I'm working on a project that involves React, Redux and some other frontend libraries. I have read lots of good thing for server side rendering and it sounds cool. So I implemented both the server side rendering and client side rendering. I did a performance comparison between those 2 and I'm having a performance issue with server side rendering, not sure I did anything wrong. I found that server side rendering requires lots of CPU/mem resources and it greatly slows down my server. Even on a simple page it will have to process complex react, redux logic that involves store initialization, virtual dom, css extraction for every request. This become even worse when traffic is high, and sometimes it stops responding. My project is complex and the page has lots of components with lots of reducers, middlewares. I know we can mitigate this by using cache, but in my project I have thousands of pages and the content needs to be dynamically rendered based on url parameters and can't be stale so cache is not a viable solution. Even with cache, the page is rendered faster than client side rendering if it hit cache. Once cache expire, the server become slow again. Also I feel that the experience is a little weird since the time it takes from the content start to render until finish is much longer than client side rendering. Overall the client side rendering feels much smoother. Any idea why?