Recommended server config?

What Im installing via easyengine

  • latest WP + woocommerce
  • letsencrypt SSL + cloudflare
  • not a huge list of products (under 100), but has tons of plugins
  • php7 w/opcache, mariadb, ubuntu 16.04 LTS, ufw, nginx cache
  • no SMTP

What’s the ideal to get this WooCommerce to load under 2s on mobile (non-wifi) traffic, assuming my pages are between 1 to 1.5 mb per page?

Where do I get the best “bang” for the buck on increasing page load speed? VPS (higher memory + core) vs. actual CDN (i’ve read that cloudflare CDN is comparable to paid solutions, including Amazon Cloudfront).

Optimizing your site will be your biggest improvement. Try WPSuperCache instead of W3, and fast velocity minify.

Looking again at your requirements, getting <2 seconds on mobile data might be a a bit ambitious. You can speed up your ability to serve the content all you want but the bottle neck will be the mobile data. The short answer would be lower your page size. Use as few images as possible. If your using images for buttons, backgrounds, etc use CSS instead. Fast velocity will help by combining all the CSS and JS into less files. Asynchronous JS can help the visual page to load faster but may also break things. It may require some testing.

Maybe try a static version of your website. There are plugins to help with that.