There are multiple resources available to improve Magento 2 performance and all of them are pretty well documented.
Mode: Magento 2 has introduced modes, being the default one the slowest. Give the developer mode a try and always run your live store in production mode. More info here.
Cache: Varnish is supported out of the box, pretty easy to configure and use.
Redis: Redis is an optional backend cache solution to replace Zend_Cache_Backend_File
, which is used in Magento 2 by default. It can be used for session storage and page caching.
Memcache: Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. In Magento 2 it can be used for sessions.
PHP 7: Magento 2 is compatible with PHP 7 out of the box. There is a lot of research on how PHP 7 affects performance for good.
This is just the start, you should be able to fine tune your webserver and database server but that will heavily depend on your particular use case.
If you don't know how to do that yourself, there are plenty of companies specialized in Magento hosting.
For a pretty solid dev environment my personal recommendation is Paliarush' Vagrant or the VM I got from Magento for the courses. There is an official docker image coming soon.
TL;DR: Just switch on the config caches.
Longer story:
I've had the same issue and have been playing around a bit.
Steps to reproduce (in developer mode):
- cache:disable
- setup:upgrade
- reload frontend or backend in a browser
When reloading and monitoring with htop, the system 'spams' some PHP processes, totally utilizing all CPUs.
This is when I realized that it must depend on some cache settings. And I started to switch off some of them. After switching off the config caches, the problem re-appeared instantly.
After switching off every cache except the config cache, everything runs fast again.
Best Answer
There are multiple resources available to improve Magento 2 performance and all of them are pretty well documented.
Mode: Magento 2 has introduced modes, being the default one the slowest. Give the developer mode a try and always run your live store in production mode. More info here.