I think CDN is over-kill/hype. If you do everything right, all you get is better latency.
If your dynamic site loads slower then a static site, you are probably doing needless database round-trips, redirects, synchronized writes, or html rendering.
That is best case scenario ... But probably a premature optimization.
You also have to look at time to first byte, total time, and client rendering time.
If it takes like ten seconds to render the site on the client, then 10ms gain on connection time wont help much.
If your dynamic site loads slower then a static site, you are probably doing needless database round-trips, redirects, synchronized writes, or html rendering.