Magento 2 Performance – Why Magento 2 is Extremely Slow

magento2slowbackend

I used Magento 1.9 and it was okay.It wasnt as fast as a simple joomla site but i had many customers with no problem.

Now i wanted to upgrade my site to Magento 2,i bought a new host (same as i currently have) and installed Magento 2 without sample data and its a pain to use.Not just the admin,but the empty homepage as well take minutes to load and when i try to create an account i getting error that i "Resource Limit Is Reached"

I tried with Facebook FlashCache,OptimumCache and Cloudflare but nothing has changed even though the creators said Magento 2 is much faster than the first version.

I'd like to understand why they cant fix it after so many years and why so many people using it?

Is there any way fasten it up?

UPDATE:

I used mgt-commerce before and it was incredibly fast,took less than 2s to load but it cost too much: AWS Price + € 199.00

They offered php7 / HHVM , Varnish, Redis , CDN ,NGINX by default i guess thats why it was fast.

I had to buy Amazon WS account i don't know why i guess my site was actually hosted by Amazon.

Im looking for the same speed for a lower price.
A VPS provider example.

I was looking around but found that every hosting provider claims they have Magento hosting.
Siteground,Mochahost,Hostgator,Fastcomet etc.

Maybe there's a hosting provider who would install these caches to beat competitors.

PS: Sorry if my post seems to be silly for programmers i'd choosen economics,commerce and marketing at university unfortunately 🙁

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.

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.

Related Topic