Hallo Geri,
Erstmal willkommen bei uns im Forum.
Vielen Dank für den Link zum Crosspost. Das ist sehr vorbildlich. Der Fairness halber der anderen Community gegenüber solltest du dort natürlich auch auf diesen Beitrag hier verweisen, damit beide Communitys den selben Wissensstand haben und gegenseitig von möglichen Lösungen partizipieren können.
Nun aber zu deiner Frage
volpone wrote:Den Apache musste ich auf 8080/449 legen, weil der IIS schon auf 80 ist.
Ich empfinde es immer als suboptimal, wenn der eigene Testserver auf anderen Ports läuft als der Liveserver. Der Aufwand Änderungen zu portieren erhöht sich dadurch nur unnötig, zusätzlich zum ansteigenden Fehlerpotential.
Fragen die ich daher zurückstelle sind:
- Wird der IIS wirklich benötigt?
- Wenn ja, warum ihm nicht PHP hinzuinstallieren und dies als Plattform nutzen (IIS auf Windows läuft deutlich stabiler als Apache auf Windows)
- Wenn nein, warum dann nicht abschalten?
volpone wrote:Welche Einstellungen/Parameter kann man optimieren (ich kenne mich mit Apache/MYSQL/php-Konfigurationen nicht aus)?
Prinzipiell im Fokus steht hier die Datenbank samt Anbindung. XAMPP ist so konzipiert, dass es auch auf Leistungsschwächerer Hardware läuft. Das betrifft vorallem die Einstellungen der MySQL Konfigurationsdatei my.ini.
MySQL liefert Vorlagen für unterschiedliche Hardwareausstattungen mit. Je nach Rechnerausstattung macht es durchaus Sinn, Einstellungen aus der
\xampp\mysql\my-large.ini oder gar
\xampp\mysql\my-huge.ini in die
\xampp\mysql\bin\my.ini zu übertragen. Eine pauschalisierte Aussage darüber, welche Werte hier sinnvoll sind kann ich leider nicht treffen, da dies vollständig von deinem System abhängt. Du kannst ja ein bißchen damit herumexperimentieren um zu sehen, mit welchen Einstellungen dein Rechner am besten zurecht kommt. Übertreib es nur nicht, zuviel des guten kann auch genau den gegenteiligen Effekt haben und alles noch langsamer machen.
Ein zweiter Faktor wäre die IPv6 Kompatibilität. XAMPPs MySQL ist so konfiguriert, dass Anfragen nur über IPv4 angenommen werden. Das kann im ungünstigen Fall dazu führen, dass mögliche Anfragen deiner Webanwendung durch dein Betriebssystem erst über IPv6 gestellt werden und erst nach einem Timeout auf den Failback IPv4 nochmals angefragt werden. Mögliche Lösung bei diesem Problem wäre MySQL auch auf IPv6 laufen zu lassen, durch setzen der Zeile
bind-address = :: in der
\xampp\mysql\bin\my.ini oder die simulierte Namensauflösung des Betriebssystems so zu konfigurieren, dass localhost in 127.0.0.1 aufgelöst wird, durch einen entsprechenden Eintrag in der Windows HOSTS Datei.
mit freundlichen Grüßen,
Altrea
P.S.: Solltest du Änderungen vornehmen wollen, lege dir auf jeden Fall vorher eine Sicherungskopie der betreffenden Datei an, um im Falle eines Falles zu einer funktionierenden Konfiguration zurückkehren zu können.
P.P.S.: Beachte, dass nach Änderungen an der MySQL Konfigurationsdatei ein Neustart von MySQL notwendig ist, damit diese greifen.
P.P.P.S.: Auch der Vorschlag, einen Testserver auf Linuxbasis zu betreiben ist eine mögliche Lösung, wenn es dir rein um die performance geht.