Je cherchais les meilleures pratiques et les paramètres de configuration recommandés pour configurer un serveur MySQL pour l'hébergement d'une application Magento2.
Je cherchais les meilleures pratiques et les paramètres de configuration recommandés pour configurer un serveur MySQL pour l'hébergement d'une application Magento2.
Réponses:
Vous trouverez ci-dessous quelques configurations principales recommandées pour Magento2 MySQL.
Pour plus de détails, reportez-vous à ce lien devdocs - http://devdocs.magento.com/guides/v2.0/install-gde/prereq/mysql.html
Devdocs a répertorié toutes les configurations recommandées.
Il n'y a pas de configuration idéale pour chaque projet car cela dépend de votre configuration, du nombre de votre catalogue, de sites Web, etc.
Idéalement, MySQL devrait être capable de conserver votre base de données magento dans la mémoire RAM et de ne pas basculer.
L'une des configurations les plus importantes pour les performances est innodb-buffer-pool-size. Voir les détails dans la documentation MySQL: https://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-pool.html
Par exemple, j'utilise cette configuration dans mes projets:
[mysqld]
## After edit config you have to remove log files and restart mysql server
## because after changing innodb-log-file-size you should recreate ib_logfiles
## Stop MySQL server
## rm /data/dir/ib_logfile*
## Run MySQL server
##Table open cache under MacOS and MySQL 5.6 should be 250.
##Otherwise you will get error MySQL server has gone away
##table-open-cache = 250
table_open_cache = 4096
## Cache
table_definition_cache = 4096
thread_cache_size = 256
query_cache_size = 64M
query_cache_type = 1
## Per-thread Buffers
sort_buffer_size = 16M
## Temp Tables
max_heap_table_size = 512M
tmp_table_size = 512M
## Networking
interactive_timeout = 3600
max_connections = 400
max_connect_errors = 1000000
max_allowed_packet = 512M
skip_name_resolve
skip_secure_auth
wait_timeout = 28800
## MyISAM
key_buffer_size = 256M
#myisam_recover = FORCE,BACKUP
myisam_sort_buffer_size = 128M
## InnoDB
innodb_buffer_pool_size = 2G
innodb_log_file_size = 256M
innodb_thread_concurrency = 18
innodb_flush_log_at_trx_commit = 2
##Fastest
##innodb_flush_log_at_trx_commit = 0
Affichez et téléchargez la dernière version: https://gist.github.com/yvoronoy/a705387c1c995fb071f656bdb951c714
tunning-primer.sh
launchpad.net/mysql-tuning-primer/trunk/1.6-r1/+download/… & mysqltuner.pl
mysqltuner.pl ces scripts utilisent des variables d'exécution MySQL, ce qui donne au moins 24 heures au minimum avant d'utiliser l'une ou l'autre ou d'appliquer les suggestions.
Serveurs Web
Apache 2.2 ou 2.4
De plus, le module apache mod_rewrite doit être activé.
mod_rewrite permet au serveur d'effectuer une réécriture d'URL. Pour plus d'
informations, consultez notre documentation Apache.
nginx 1.8 (ou dernière version principale)
Base de données
PHP
5.6.x
5.5.x, où x vaut 22 ou plus
7.0.2, 7.0.6–7.0.x
Il existe un problème connu de PHP 7.0.5 qui affecte notre compilateur de code; pour éviter le problème, n'utilisez pas PHP 7.0.5.
Non supporté:
Documentation PHP: CentOS, Ubuntu
Extensions PHP requises:
bc-math
boucle
PHP 7 uniquement:
json
iconv
Vous pouvez obtenir plus d'informations sur: Exigences de la pile technologique Magento 2.0.x