Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Running Magento 2
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
About meJisse Reitsma
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
About meJisse Reitsma
Founder and lead developer of Yireo
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
About meJisse Reitsma
Founder and lead developer of Yireo
Wrote 2 developer books for J**ml*
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
About meJisse Reitsma
Founder and lead developer of Yireo
Wrote 2 developer books for J**ml*
Grab a MUGMUG
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
About meJisse Reitsma
Founder and lead developer of Yireo
Wrote 2 developer books for J**ml*
Grab a MUGMUG
Part of Zend Z-Team
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
About meJisse Reitsma
Founder and lead developer of Yireo
Wrote 2 developer books for J**ml*
Grab a MUGMUG
Part of Zend Z-Team
Part of ExtDN
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
About meJisse Reitsma
Founder and lead developer of Yireo
Wrote 2 developer books for J**ml*
Grab a MUGMUG
Part of Zend Z-Team
Part of ExtDN
I live near a palace
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
The palace
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Disclaimers
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
DisclaimersI do not live in a palace
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
DisclaimersI do not live in a palace
I am not a runner
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
DisclaimersI do not live in a palace
I am not a runner
I am just a simple Dutch guy
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
DisclaimersI do not live in a palace
I am not a runner
I am just a simple Dutch guy
Difference between running from runningOperations vs performance
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Running Magento 2Performance
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
EnvironmentPHP 7 + Zend OPcache
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
EnvironmentPHP 7 + Zend OPcache
Nginx + PHP-FPMPHP-FPM via UNIX socket?
HTTP/2
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
EnvironmentPHP 7 + Zend OPcache
Nginx + PHP-FPM
Redis cachingMultiple Redis databases
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
EnvironmentPHP 7 + Zend OPcache
Nginx + PHP-FPM
Redis caching
MySQL 5.6 (or alternative) + tuningQuery cache, InnoDB buffers
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
EnvironmentPHP 7 + Zend OPcache
Nginx + PHP-FPM
Redis caching
MySQL 5.6 (or alternative) + tuning
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
EnvironmentPHP 7 + Zend OPcache
Nginx + PHP-FPM
Redis caching
MySQL 5.6 (or alternative) + tuning
composer / magerun2Magerun2 addons from Hypernode: Patching, updates
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
EnvironmentPHP 7 + Zend OPcache
Nginx + PHP-FPM
Redis caching
MySQL 5.6 (or alternative) + tuning
composer / magerun2
CI toolsphpcs, phpmd, Phing/Capistrano/Fabric
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
OptionalsVarnish
VCL file generated through Magento 2
ClusteringMySQL master/slave, M2 EE
Offloading searchSolr, ElasticSearch
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
PHP 7
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
PHP 7Hurray for Zend
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
PHP 7Hurray for Zend
Ditch HHVM
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
PHP 7Hurray for Zend
Ditch HHVM
Tune Zend OPcacheopcache.validate_timestamps=0 ?
Reload PHP-FPM instance after git pull
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
PHP 7Hurray for Zend
Ditch HHVM
Tune Zend OPcache
Recompile PHP with PGOPGO = Profile-Guided Optimization
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
PHP 7Hurray for Zend
Ditch HHVM
Tune Zend OPcache
Recompile PHP with PGO
Enable huge_code_pages in kernelNot page size of 4k but of 2m
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Turning offionCube
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Turning offionCube
Xdebug
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Turning offionCube
Xdebug
NewRelic, Zend Z-Ray, Blackfire
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Turning offionCube
Xdebug
NewRelic, Zend Z-Ray, Blackfire
MySQL performance schemas
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Experimental
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Experimentalappserver.io
Wait for 06/2016 release for PHP 7
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Experimentalappserver.io
Wait for 06/2016 release for PHP 7
Tarantool or Aerospike instead of Redisgithub.com/danslo/Rubic_Cache_Backend_Aerospike
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Experimentalappserver.io
Wait for 06/2016 release for PHP 7
Tarantool or Aerospike instead of Redisgithub.com/danslo/Rubic_Cache_Backend_Aerospike
Hack from HHVM
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Running Magento 2Operations
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Magento 2 operationsNo code generation of live server
Not running magento setup:di:compile
Committing var/generation and var/di to git?
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Magento 2 operationsNo code generation of live server
No composer updates on live serverCommitting composer.lock to git (?)
Use prestissimo for faster downloads
Use Satis or Toran Proxy for offloading
Optimize autoload file (‐‐optimize‐autoloader)
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Magento 2 operationsNo code generation of live server
No composer updates on live server
Interceptors instead of event observersInterceptor count matters less due to code generation
Count of dispatched events does matter
But events are less confusing than interceptors
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Magento 2 operationsNo code generation of live server
No composer updates on live server
Interceptors instead of event observers
How to analyse DI properly?Preferences, types, virtual types, plugins
Circular dependencies reports do not help
magento-hackathon/magento2-plugin-visualization
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
Magento 2 operationsNo code generation of live server
No composer updates on live server
Interceptors instead of event observers
How to analyse DI properly?
Deploying static view filesUse Grunt / Gulp instead
Specify what you want to deploy (PR @denisristic)
Other stuff we did on Monday
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com
ThanksQuestions?
Jisse Reitsma - Running Magento 2
Yireo - slides.yireo.com