Vagrant Performance verbessern

Hallo, 

ich nutze zur Entwicklung Vagrant und PHPStorm nach dieser Anleitung von Shopware: Vagrant and PHPStorm

Das Entwickeln unter Vagrant ist meiner Meinung nach ein wenig träge. So benötigt bereits das Backend des Shops beim Öffnen des Fensters Grundeinstellungen  über 10 Sekunden und das Öffnen des Unterpunktes “Shops” weitere 20 Sekunden nur um zu öffnen. Kompilieren über das Backend benötigt mind. 30 Sekunden. (Siehe Screenshots)

Die Startseite des Frontends benötigt ca. 6 - 8 Sekunden zum Laden.

Rechner
Betriebssystem: Windows 10
Prozessor: Intel® Core™ i7-6700K CPU @ 4.00GHz 4.01 GHz
Arbeitsspeicher: 32GB
Festplatte: SSD

Virtuelle Maschine:
Prozessor: 4 CPUs
Base Memory: 10048 MB
Alle weiteren Specs sind im Standard des Vagrant Files von Shopware geblieben. Es wurde lediglich der Pfad der lokalen Dateien mit denen der Virtuellen Maschine verknüpft.

PHP Version 7.0.28-1+ubuntu14.04.1+deb.sury.org+1

Shopware: 5.4.1
config.php:

'front' => [
	  'showException' => true,
	  'throwExceptions' => true,
	  'noErrorHandler' => false,
  ],

//Zeige Low-Level PHP-Fehler
  'phpsettings' => [
	  'display_errors' => 1,
  ],

// Template-Cache
  'template' => [
	  'forceCompile' => true,
  ],

// Backend-Cache
  'cache' => [
	  'backend' => 'Black-Hole',
	  'backendOptions' => [],
	  'frontendOptions' => [
		  'write_control' => false
	  ],
  ],

// Model-Cache
  'model' => [
	  'cacheProvider' => 'Array' // supports Apc, Array, Wincache and Xcache
  ],

// Http-Cache
  'httpCache' => [
	  'enabled' => true, // true or false
	  'debug' => true,
  ],

 

was heißt denn „Es wurde lediglich der Pfad der lokalen Dateien mit denen der Virtuellen Maschine verknüpft.“?

wenn das heißt das die shopware datein auf denn host liegen, und vagrant liest diese durch ne freigabe, dann ist es „normal“ das es sehr langsam ist.

daher haben wir unsere shopware datein in der vagrant maschine, und editieren die über samba freigabe.

Hallo @wontfix‍

Die Dateien liegen lokal in einem Ordner neben dem shopware-vagrant Ordner.

Daz haben wir folgende Zeile bearbeitet: config.vm.synced_folder „…/www“, „/home/vagrant/www“, create: true

Hast du mal versucht den sync zu deaktivieren und einfach via sftp mal die daten hochgeladen?

@dst schrieb:

Hallo @wontfix‍

Die Dateien liegen lokal in einem Ordner neben dem shopware-vagrant Ordner.

Daz haben wir folgende Zeile bearbeitet: config.vm.synced_folder „…/www“, „/home/vagrant/www“, create: true

dann ist es „normal“ das es sehr sehr langsam ist. besser man macht die shopware datein in die vagrant maschine.

Hi @Shyim‍, 

ich habe die Dateien erst seit einer Woche direkt in ein Verzeichnis auf meiner Festplatte verschoben und habe vorher mit einem Deployment in PHPStorm zwischen lokalen und virtuellen Daten gesynced. Einen Unterschied merkt man nicht, außer dass die Shops nicht mehr lokal UND auf der virtuellen Maschine liegen habe. Bei knapp 80 Shops ist das eine ganz nette Entlastung für die Festplatte.

Ich verstehe allerdings nicht ganz den Zusammenhang zwischen der Geschwindigkeit von Frontend und Backend in Bezug auf die lokalen Daten mit Hilfe von config.vm.synced_folder „…/www“, „/home/vagrant/www“, create: true. Hier sage ich der virtuellen Maschine doch nur „hey, deine Daten liegen hier“, oder sehe ich das falsch?

 

hier mal auszug von unsere vagrant maschine provision

echo "### Setup samba..."
apt-get install -y samba
(echo vagrant; echo vagrant) | smbpasswd -s -a vagrant
cat <> /etc/samba/smb.conf
[homes]
   comment = Home Directories
   browseable = no
   read only = no
   create mask = 0644
   directory mask = 0755
   valid users = %S
   nt acl support = no
   map archive = no
EOF

und dann einfach in ms-windows die datein über \\domain-or-ip\vagrant samba freigabe editieren

@dst‍ naja der shared ordner läuft über SMB und das ist jetzt nicht so wirklich schnell. Ich kann dir alternativ eine fertige Docker Umgebung anbieten in einer Alpine VM als OVA Datei. Damit arbeite ich zuhause immer :slight_smile: