Maison > développement back-end > tutoriel php > Symfony sur les hacks de performance vagabonds - Study de cas de sulèques

Symfony sur les hacks de performance vagabonds - Study de cas de sulèques

Christopher Nolan
Libérer: 2025-02-15 13:01:12
original
171 Les gens l'ont consulté

Symfony on Vagrant Performance Hacks - SuluCMS Case Study

Points clés: Ce tutoriel optimise Sulu, un CMS basé sur Symfony, pour des performances plus rapides dans un environnement vagabond. Il aborde la lenteur inhérente de Symfony sur les machines virtuelles avec des systèmes de fichiers partagés. Les techniques détaillées sont applicables à toute application Symfony.

Ce guide détaille la configuration de Sulu sur Vagrant, y compris le téléchargement de boîtes, la configuration du partage de dossiers, l'installation de Sulu et les améliorations cruciales des performances. Après avoir appliqué ces optimisations, https://test.app/admin et https://test.app devraient être considérablement plus rapides.

Configuration et optimisation de Sulu sur Vagrant

Nous utiliserons Homestead améliorés, mais les principes s'appliquent largement.

1. Configuration initiale:

  • Clone Le référentiel amélioré de la propriété et la configuration du partage des dossiers:
    git clone https://github.com/swader/homestead_improved hi_sulu
    cd hi_sulu; bin/folderfix.sh
    Copier après la connexion
  • Définir le partage de fichiers sur NFS (recommandé pour atténuer les problèmes connus).
  • Ajoutez un nouveau site à Homestead.yaml:
    - map: test.app
      to: /home/vagrant/Code/sulu/web
      type: symfony-sulu
    Copier après la connexion

    (La configuration Nginx fournie est cruciale; s'adapter selon les besoins pour les environnements non homosexuels.)

2. Installation Vagrant et Sulu:

  • démarrer la machine virtuelle et SSH dans:
    vagrant up; vagrant ssh
    Copier après la connexion
  • Ajouter test.app au fichier /etc/hosts de votre hôte.
  • Installer Sulu:
    cd Code
    git clone https://github.com/sulu-io/sulu-standard sulu; cd sulu
    git checkout master
    composer install
    Copier après la connexion

    (aborder les conflits potentiels de la version PHP; mettre à niveau si nécessaire en utilisant sudo apt-get upgrade php7.0-fpm.)

  • Configurer Sulu (Détails de la base de données requis):
    cp app/Resources/webspaces/sulu.io.xml.dist app/Resources/webspaces/sulu.io.xml
    cp app/Resources/pages/default.xml.dist app/Resources/pages/default.xml
    cp app/Resources/pages/overview.xml.dist app/Resources/pages/overview.xml
    cp app/Resources/snippets/default.xml.dist app/Resources/snippets/default.xml
    rm -rf app/cache/*
    rm -rf app/logs/*
    Copier après la connexion
  • Exécuter la commande de construction (environnement de développement):
    app/console sulu:build dev
    Copier après la connexion
  • générer des actifs:
    app/console assetic:dump
    Copier après la connexion
  • Activer le mode Dev dans web/admin.php et web/website.php (changer SYMFONY_ENV par dev).

Symfony on Vagrant Performance Hacks - SuluCMS Case Study

3. Hacks d'optimisation des performances:

  • Optimisation du journal et du cache: Modifier app/AbstractKernel.php S getCacheDir et getLogDir Méthodes à utiliser /dev/shm pour les environnements Dev / Test. Cela déplace les journaux et le cache vers le stockage VM-local.
  • Déplacer le répertoire du fournisseur: Déplacer le répertoire vendor vers un chemin VM-local (par exemple, /home/vagrant/vendors/sulu-test.app). Cela améliore considérablement les performances en évitant l'accès au système de fichiers partagé. (Des étapes détaillées sont fournies dans l'article d'origine pour l'ajustement manuel.) Utilisez le script fourni ~/Code/bin/sulu/vendorfix.sh ou suivez les étapes manuelles. Mettez à jour le chemin d'inclusion de votre IDE en conséquence.
  • Activer la mise en cache APC: CACHING APC APC APC APC CACHING IN web/website.php AT web/admin.php.
  • Optimisations supplémentaires: augmenter realpath_cache_size et realpath_cache_ttl dans /etc/php/7.0/fpm/php.ini. Envisagez d'installer l'extension Twig C et de désactiver xdebug (sudo phpdismod xdebug; sudo service php7.0-fpm restart).

Symfony on Vagrant Performance Hacks - SuluCMS Case Study

4. Dépannage:

résoudre des problèmes communs comme le cache obsolète, des emplacements de classe incorrects (utiliser app/console cache:clear, rm -rf app/cache/*, composer update) et la rupture du cache APC (apc_clear_cache()). Optimiser pour le débogage au besoin.

Conclusion:

Ces optimisations améliorent considérablement les performances de Sulu sur Vagrant. Les techniques, en particulier la relocalisation du répertoire des fournisseurs et l'optimisation du log / cache, sont largement applicables à tout projet Symfony. N'oubliez pas d'adapter les chemins et les configurations à votre configuration spécifique. La section FAQ fournit un contexte supplémentaire et répond aux questions courantes sur Symfony, Sulu et les performances vagabonantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal