Moin
zuerst einmal ein Wort zu dem Ausreißer-Wert. Solche Peaks habe ich auch gelegentlich auf meinem System gesehen, konnte aber bisher keine Zeit finden, dem auf den Grund zu gehen und da die Performance-Messung keine Grundfunktion beeinträchtigt, hat es gerade nicht die Prio. Ich nehme an, dass es daran liegt, dass bestimmte Aktionen schiefgelaufen sind und in einen Timeout gelaufen sind, aber das ist nur so eine Vermutung ohne jegliche Analyse...
Zu xampp vs. Linux:
Erst einmal muss man sagen, dass xampp nie für den produktiven Betrieb optimiert wurde, sondern für Entwicklungszwecke. Es ist ziemiich einfach und schnell installiert. Und ich kann die Installation in Anleitungen und Tutorials auch den Anfängern erklären: PHP ist gleich integriert, zwei Klicks und Webserver und DB laufen im Hintergrund als Service.
Demgegenüber steht eine Installation von MySQL oder MariaDB als Datenbank, dem Apache als Webserver, PHP mit den richtigen Bindings und Extensions, Einstellungen (php, Service-Installation usw.) auf der Kommandozeile usw. So bekommt man in der Regel natürlich ein besser optimiertes System. Und in dem Zuge sollte man dann auch ein paar Sicherheitssettings vornehmen, die xampp auch nicht im Standard vornimmt...
Wer aber xampp weiterhin nutzen möchte, dem gebe ich folgende Tipps:
Virenscanner:
Niemals mehrere Virenscanner auf dem System nutzen. Das zieht die Performance extrem nach unten. Wenn das System gut isoliert im eigenen Netzt ist und eine Firewall (z.B. die auf den Fritzboxen) eingehenden Traffix filtert (man kann auch Whitelists für ausgehenden Traffic usw. definieren), würde ich jeglichen Virenscanner sogar ganz weglassen (auch den Defender deaktivieren). Wer sich das nicht traut, der kann aber den xampp-Ordner vom Scan ausschließen. Auf einem englischen Windows-System geht das so:
Virus and Thread Protection -> Virus and Thread Protecto9on Settings -> Manage Settings -> Exclusions -> Add or remove exclusions -> Add an exclusion .> Folder: X:\xampp
Datenbank-Tuning:
In der my.ini (my.cnf), den man auch über den Xampp-Kontrollcenter erreichen kann, kann man den Wert für
innodb_buffer_pool_size setzen: Dieser Parameter sollte zwischen 50% und 70% des verfügbaren RAM liegen.
URL:
Statt localhost ist manchmal 127.0.0.1 schneller.
IPv6:
IPv6 würde ich abschalten. Das führt leider immer noch ab und zu zu Performance-Problemen. In der Konfiguiration unter [mysqld] kann man dies hinzufügen:
OPcache:
Mir ist aufgefallen, dass bei einigen Xampp-Setups OPCache nicht aktiviert war. Das kann die Performance bei der Abarbeitung von PHP-Skripten auch drastisch reduzieren. Bitte in der phpinfo (Administrationsansicht -> Datenbank -> PHP-Information) nachschauen, ob da "Zend OPcache" konfiguiriert wurde.
Man kann noch viel mehr tunen, aber da habe ich weniger Erfahrungswerte.
Viel Erfolg,
Stefan