2009-08-06 15 views
2

Nun, der Titel macht die Erklärung. Welches ist schneller PHP/MySQL unter Linux oder Windows?PHP, MySQL | Windows vs Linux

Frage 1

Ich weiß, dass MySQL langsamer auf Windows, weil ich ein C++ Programm unter Windows laufen zu lassen versucht, MySQL zugreifen, es ist ein Jahr ist es jedes Mal nahm eine Verbindung öffnen mußte. Als ich die exakte Kopie in die Linux-Umgebung portierte, war es blitzschnell.

Ich bin nicht sicher, warum der Unterschied ist, vielleicht Ursache, wenn wir über Linux sprechen, ist alles millionenfach schneller, aber es wäre gut zu wissen, warum so ein großer Unterschied.

Frage 2

Ich habe PHP auf IIS und MySQL unter Windows einrichten ive nur eine sehr kleine Anwendung auf diesem Setup getestet und es scheint in Ordnung. Was ich wirklich wissen möchte ist, dass es Performance-Probleme für PHP in Windows und nicht in Linux gibt?

Windows Vista bearbeiten Wurde das Betriebssystem ausprobiert Ursprünglich testete Havent W7. Fedora 10 war das Linux: D

+0

Minus Warum? (* erforderlich - mindestens 15 Zeichen) –

Antwort

2

Sie sollte schließlich die gleiche Geschwindigkeit sein. Wenn Sie einen unwissenschaftlichen, unfairen Test machen, könnten Sie einen Unterschied zeigen.

Die Prozessstartgeschwindigkeit ist möglicherweise unterschiedlich. Insbesondere ist der Prozessstart unter Windows möglicherweise langsamer. Dies sollte in der Produktion nicht allzu wichtig sein, es sei denn, Sie verwenden ein Modell, das sehr häufig neue Prozesse erstellt, was in beiden Fällen ineffizient ist.

Führen Sie einen Leistungstest Ihrer tatsächlichen Anwendung mit einer großen Anzahl von Anforderungen über eine erhebliche Zeitspanne auf Hardware in Produktionsqualität durch. Es ist die einzige Art zu erzählen.

Natürlich kann ich sicher sagen, dass fast niemand Windows vs. Linux auf der Grundlage der Leistung wählt. Normalerweise sind sie in der Lage, in der Produktion zu managen und Hardware/Software-Unterstützung zu haben.

Wenn Sie 1000 Boxen in der Produktion installieren, kann die Windows Server-Lizenzierung teuer werden (abhängig von Ihrem Deal mit MS). Wenn Sie nur ein paar installieren, ist es wahrscheinlich egal (die Unterstützung der Server wird sehr viel teurer).

0

Nicht sicher, was das Problem war, es sei denn, Sie hatten viele gleichzeitige Verbindungen und/oder waren nicht auf Windows-Server ausgeführt. Es sollte keinen merklichen Geschwindigkeitsunterschied zwischen den beiden geben. In Ihrem Programm ging noch etwas anderes vor.

+0

Ich bin mir sicher, dass es keine gleichzeitigen Verbindungen gab. Und zweitens, wie ich sagte, die Programme waren identisch, das einzige, was ich anders denken könnte, war in Windows ich mysql.dll und auf Linux -l mysqlclient –

1

Die Dinge werden langsam besser unter Windows, mit IIS 7 und PHP als FastCGI; siehe http://php.iis.net/

Aber ich habe noch nie etwas Gutes über PHP + IIS6 gehört ... Nie in dieser Konfiguration selbst gearbeitet; also kann ich nicht von Erfahrung sprechen.

Eine Sache zu prüfen ist, dass Windows immer noch (die Dinge langsam besser zu bekommen) scheint als Bürger zweiter Klasse betrachtet werden, wenn es um PHP kommt ...
Und es ist schwieriger zu bekommen genau die Version von PHP, das Sie wollen (unter Linux, Sie nur neu kompilieren, und das ist definitiv nicht schwer); btw auch Erweiterungen mehr für PECL, ...


Als Nebenbemerkung: Sie PHP auf Windows mit ;-) Apache laufen

1

PHP ist fast gleich schnell auf Linux und Windows, Variationen zwischen den verschiedenen Funktionen .

PHP auf Linux verwendet, um mehr Funktionen zu unterstützen Windows mochte nicht pcntl_fork und socket_create_pair. Es scheint, dass mit der Veröffentlichung der Version 5.3 diese jetzt auf beide (aus der PHP-Dokumentation) funktioniert.

Ich kenne keine Geschwindigkeitsdifferenz zwischen Apache auf Linux vs IIS oder Apache auf Linux vs Apache auf Windows.

+0

Nun, was im Planung ist nicht Apache überhaupt verwenden Sie einfach IIS, um PHP zu starten . Würde es einen Unterschied geben, wenn ich Apache unter Windows oder IIS verwende? –

+1

Wenn Sie mit IIS vertraut sind, ist das wahrscheinlich die beste Wahl. http://stackoverflow.com/questions/1197953/apache-vs-iis-phph-performance-comparison – OIS

1

1) Dies liegt wahrscheinlich daran, dass Ihr mysql-Server versucht, eine umgekehrte Suche durchzuführen, und/oder Ihr DNS für localhost auf dem Windows-Rechner falsch ist.

2) PHP ist die gleiche Geschwindigkeit, insgesamt, aber die Schnittstelle zu ihm (Apache-Modul, CGI usw.) kann nicht so schnell sein.

+0

soweit ich mich erinnere, dass ich Vista benutzte, konnte es wegen dem auf nicht Windows 7 sein? –