Leistung von Joomla auf IIS

8

Wir haben eine Website, die auf einem IIS 7.5-Server gehostet wird.

Wir haben eine Kopie derselben Website auf einem Apache2.2 / Centos 6.x-Server.

Unter IIS ist die Site langsamer (etwa zweimal länger oder sogar länger), und bisher konnten wir die Serverantwortzeit und / oder die Site-Geschwindigkeit im Allgemeinen (Frontend und Backend) nicht verbessern.

Ich weiß nichts über IIS, daher war es kompliziert zu wissen, was zu tun ist (für mich).

Bisher haben wir versucht:

  • Einige MySQL-Tuning
  • Aktivieren der Gzip-Komprimierung ohne Erfolg.
  • Jotcache-Erweiterung (funktioniert, aber die Website ist immer noch langsamer als bei Apache)
  • Nicht benötigte Erweiterungen deaktivieren oder deinstallieren.
  • JCH Optimize Pro
  • Kein PHP-Cache (irgendwelche Ideen?)

Ich vermute, dass wir an der Server- / PHP- / MySQL-Konfiguration arbeiten müssen / sollten, aber ich weiß nicht, ob wir etwas Besonderes tun sollten, um die Leistung auf IIS zu verbessern und sie so schnell wie möglich zu gestalten, wie auf Apache . Was können wir tun, um die Leistung auf IIS zu verbessern?

Derzeit ist unsere Serverantwortzeit auf der IIS-Website länger als 1,5 Sekunden und auf Apache etwa 0,4 Sekunden.

Shaz
quelle

Antworten:

3

Beachten Sie, dass PHP unter Windows im Allgemeinen langsamer ist als unter Unix-ähnlichen Betriebssystemen. Mit der neueren Version (Update!) Ist es besser geworden, aber es gibt immer noch einen messbaren Unterschied.

Das heißt, es gibt zwei große Schritte, um die PHP-Leistung Ihrer Server zu optimieren:

  1. Verwenden Sie FastCGI

    Während fpm nur unter Unix funktioniert, funktioniert FastCGI auch mit IIS unter Windows. Hier ist ein Tutorial von Microsoft selbst: http://www.iis.net/learn/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php

  2. Verwenden Sie einen Opcode-Cache

    Wieder hat Microsoft Sie mit der WinCache- Erweiterung abgedeckt .

Wenn Sie nach diesen Schritten immer noch Leistungsprobleme haben, empfehle ich, sowohl die Windows- als auch die Linux-Version zu profilieren. Sie können entweder xhprof oder Xdebug verwenden . Versuchen Sie herauszufinden, ob Sie ein Problem mit der Leistung von PHPs oder MySQL haben. Ein weiterer Test, den Sie durchführen können, besteht darin, beide Kopien vom selben Datenbankserver bereitzustellen (muss ein dritter Server sein). Das wird Ihnen schnell sagen, ob Sie ein PHP- oder ein MySQL-Problem haben.

Rouven Weßling
quelle