Ich teste meine Website unter " https://developers.google.com/speed/pagespeed/insights/ " und habe nur niedrige Bewertungen (9-12 / 100).
Mein Setup:
Virtueller Server (CentOS) mit 16 GB RAM, 6 Kernen (Intel Xeon), SSD-Speicher Magento 2.1.7 Apache 2.4.6
MariaDB 10.1
Ich habe dafür gesorgt, dass meine php.ini 14 GB RAM enthält (memory_limit = 14000M).
Auch bearbeitet .htaccess
und .user.ini
im Magento-Stammverzeichnis und Pub-Verzeichnis (alle haben 14 GB RAM).
Meine Konfigurationsdatei für MariaDB (/etc/my.cnf) sieht folgendermaßen aus:
[client] port = 3306 socket = /var/lib/mysql/mysql.sock
[mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-external-locking key_buffer_size = 384M max_allowed_packet = 10M
table_open_cache = 4096 sort_buffer_size = 16M
read_buffer_size = 4M read_rnd_buffer_size = 14M
myisam_sort_buffer_size = 64M thread_cache_size = 256query_cache_type = 1 query_cache_limit = 4M
query_cache_size = 512M thread_concurrency = 8
log-bin = mysql-bin server-id = 1 innodb_buffer_pool_size = 3000M
innodb_additional_mem_pool_size = 80M[mysqldump] quick max_allowed_packet = 512M
[mysql] no-auto-rehash
[myisamchk] key_buffer_size = 256M
sort_buffer_size = 256M read_buffer = 4M
write_buffer = 4M[mysqlhotcopy] interaktives Timeout
Ich weiß nicht, warum meine Website immer noch so langsam ist (die Serverantwort beträgt laut Google Pagespeed immer 1-2,5 Sekunden), obwohl meine Hardware gut genug ist (genügend RAM).
PS: Mein Magento-Modus ist Entwickler und alle CSS-Optionen zum Minimieren und Zusammenführen sind deaktiviert.
quelle
Antworten:
Grund für Slow
PS: So erfahren Sie, in welchem M2-Modus Sie sich befinden:
Wenn Sie sich im Entwicklermodus befinden
Dieser Modus wird benötigt, wenn Sie gerade Ihre Site für die Produktion vorbereiten. Aber eine Wartezeit von 30 Sekunden kann sehr frustrierend und nervig sein. Hier sind 3 einfache Korrekturen, mit denen Sie versuchen können, magento2 zu beschleunigen:
1. Deaktivieren Sie CSS & JS Merge / Bundle / Minify. Dieser Trick allein hat mir geholfen, die Geschwindigkeit von 50 auf 2 Sekunden zu reduzieren.
2. Umstellung auf PHP7 Während Magento 2 unter PHP 5.6 hervorragend funktioniert, kann eine Umstellung auf PHP7 allein die Leistung um 25% verbessern.
3. Serverressourcen Magento 2 ist ein komplexes System. Insbesondere im Entwicklermodus ist leistungsstarke Hardware erforderlich. Vermeiden Sie Virtualisierung. Stellen Sie sicher, dass Sie M2 mindestens 2 GB RAM zuweisen.
Wenn Sie sich im Produktionsmodus befinden
1. Überprüfen Sie Ihre Erweiterungen von Drittanbietern. Magento 2 kann mit Plugins und Modulen erheblich erweitert werden. Im Gegensatz zu Kernfunktionen, die vom Magento Core Team und Experten codiert wurden, werden Erweiterungen von Drittanbietern (in den meisten Fällen) von durchschnittlichen Programmierern entwickelt. Mit durchschnittlichen Fähigkeiten. Ein schlecht geschriebenes Modul kann Magento erheblich verlangsamen. Erstellen Sie eine Liste aller installierten Plugins und deaktivieren Sie sie nacheinander. Überprüfen Sie, ob dies die Leistung in irgendeiner Weise beeinträchtigt. Identifizieren Sie einen Engpass und wenden Sie sich an den Anbieter, um Unterstützung zu erhalten. Fahren Sie fort und installieren Sie ein neues Magento 2 mit Beispieldaten auf demselben Server. Vergleichen Sie die Geschwindigkeit mit Ihrer Produktionsstätte. Wenn ein Standard-M2 so langsam ist wie Ihr angepasster Magento-Speicher, fahren Sie mit Schritt 2 fort. Wenn er erheblich schneller ist, wissen Sie, dass Sie eine Erweiterung haben, die Sie verlangsamt.
2. Serverhardware macht Magento 2 langsam Sie können einfach herausfinden, ob Sie einen neuen M2 auf demselben Server installieren und dessen Leistung mit Ihrem Produktionsstandort vergleichen. Wenn Sie keinen Unterschied feststellen, ist Ihr Hosting-Plan offensichtlich nicht für magento2 geeignet. Melden Sie sich für ein besseres Hosting an und sichern Sie sich mehr CPU / RAM-Leistung. Sei hier nicht billig!
3. Stellen Sie sicher, dass der Ganzseiten-Cache aktiviert ist
quelle
Ich würde empfehlen, (auch als Testoption) Lösungen wie:
Diese Tools zeigen Ihnen die genauen Traces und das Timing jedes einzelnen PHP-Trace, der an einer Operation / Transaktion beteiligt ist (und ermöglichen es Ihnen, Engpässe in Anwendungs- / Datenbankabläufen zu finden).
quelle
Vorschläge, die Sie für Ihren Abschnitt my.cnf [mysqld] berücksichtigen sollten, um die Leistung zu verbessern
Führen Sie mit der Leertaste # Folgendes aus, um Standardeinstellungen gegenüber der Gesamtzuordnung für zuzulassen
Stellen Sie Folgendes ein:
Bitte poste den Fortschritt von Zeit zu Zeit.
Weitere Vorschläge finden Sie in meinem Profil, Netzwerkprofil für Kontaktinformationen.
quelle