Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Performance von PHP vs. C++

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Grillmeister
PostRank 5
PostRank 5
Beiträge: 325
Registriert: 31.10.2007, 01:41

Beitrag von Grillmeister » 07.11.2007, 17:38

Hallo,

ich bin auf meinem Server mit der Performance von PHP-Scripten unzufrieden. Die Antwortzeiten, getestet mit https://www.html-world.de/tools/server.php liegen im Bereich von 2.5 Sekunden bei einfachen Scripten, eine Joomla-Installation z.B. ist noch langsamer.

Um die Performanceprobleme zu umgehen, habe ich mit eine einfache C++-CGI-Klasse gebastelt, und siehe da, die gleichen Programme laufen (inklusive MySQL-Zugriffen) unter C++/CGI in weniger als 0.5s.

Statische HTML-Seiten werden übrigens in ca. 0.2s ausgeliefert.

Mein Server ist ein Strato Highend-Server SR v2.6:
- Celeron 2.40GHz
- 80 GB HDD
- 512 MB RAM
- Suse 9.1
- Visas

Meine Frage ist jetzt: Was sind Eure Erfahrungen im Hinblick auf PHP-Performance? Lässt sich PHP so installieren und optimieren, dass es quasi gleich schnell läuft wie kompilierte C++-Programme?

Unabhängig davon werde ich mir bald einen neuen Server holen, der den Anforderungen eher gewachsen ist. Trotzdem würden mich eure Erfahrungen interessieren, ob es Sinn macht, die am häufigsten aufgerufenen Seiten in C++ zu programmieren. Der Nachteil ist nämlich der höhere Wartungsaufwand für diese Programme.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Michael
PostRank 8
PostRank 8
Beiträge: 808
Registriert: 04.01.2004, 20:23
Wohnort: Herne

Beitrag von Michael » 07.11.2007, 18:03

Wie hast Du denn PHP eingebunden? Als Modul oder extern???

Wenn extern, dann ist die Antwortzeit kein Wunder. Anderenfalls solltest Du mal prüfen, was sonst noch so auf dem Server los ist. Würde Dir mal phpsysinfo empfehlen.

Gruß
Michael

Grillmeister
PostRank 5
PostRank 5
Beiträge: 325
Registriert: 31.10.2007, 01:41

Beitrag von Grillmeister » 07.11.2007, 18:41

Danke für die Antwort.

PHP läuft als suPHP, also letztlich als CGI. Meinst du das mit extern?

phpsysinfo habe ich mal ausprobiert, es liefert aber eigentlich keine neuen Informationen. Der Arbeitsspeicher ist ziemlich voll ;-)

grossy
PostRank 6
PostRank 6
Beiträge: 477
Registriert: 21.07.2007, 17:55

Beitrag von grossy » 07.11.2007, 23:22

wenn PHP als cgi läuft, dann ist das "extern". Man kann php auch in den Apache als Modul reininstallieren, nennt sich dann mod_php. Wenn php extern läuft, wird das Script jedes Mal vor der Ausführung Kompaliert. Bei mod_php bleibt das Komplierte Script im Cache. Das dürfte damit an c++ rankommen. Ich weis aber nicht genau, wie das mit dem Cache ist. Es gibt da nämlich noch einen Zend-Optimizer, der soll auch noch was bringen. Scheint also noch Potential zu geben.

Grillmeister
PostRank 5
PostRank 5
Beiträge: 325
Registriert: 31.10.2007, 01:41

Beitrag von Grillmeister » 08.11.2007, 01:09

Danke für den Tipp! Ich hab jetzt suPHP auf nem VHost testweise deaktiviert, da ists gleich mal um Faktor 10 schneller und kann damit glatt mit C++ mithalten. Hätte ich nicht gedacht, dass das soviel ausmacht.

Nächste Frage: Hat jemand einen Link zur Hand, worauf in Punkto Sicherheit besonders zu achten ist, wenn man suPHP deaktiviert hat? Bin jetzt doch am überlegen, das auf weiteren VHosts abzuschalten.

w3news
PostRank 8
PostRank 8
Beiträge: 938
Registriert: 10.10.2006, 23:17
Wohnort: Berlin

Beitrag von w3news » 08.11.2007, 03:02

Wenn ich mich nicht total verhaue, sollte rein theoretisch PHP (fast) genauso schnell sein wie C++! Soviel ich weiß ist PHP entweder ganz oder zu mindesten teilweise von C++ abgeleitet. ;)
MfG Lars

News, Tarife und Mobilfunk: w3news.de
Mobile Datenflatrates

MBDealer
PostRank 2
PostRank 2
Beiträge: 60
Registriert: 13.06.2007, 18:36

Beitrag von MBDealer » 08.11.2007, 06:50

w3news hat geschrieben:Wenn ich mich nicht total verhaue, sollte rein theoretisch PHP (fast) genauso schnell sein wie C++! Soviel ich weiß ist PHP entweder ganz oder zu mindesten teilweise von C++ abgeleitet. ;)
Die Syntax von PHP ähnelt der Syntax von C++ aber an die Geschwindigkeit von C++ kommt PHP noch lange nicht ran. PHP Skripte werden vom Interpreter zur Laufzeit übersetzt (das nimmt "viel" Zeit in Anspruch) im Gegensatz wird bei C++ der Quellcode vorher in die Maschinensprache übersetzt.

Dante
PostRank 1
PostRank 1
Beiträge: 22
Registriert: 18.11.2005, 08:03

Beitrag von Dante » 10.11.2007, 11:17

C++ wird grundsätzlich immer schneller sein als PHP, da PHP wie schon angesprochen nur interpretiert wird.

PHP kannst du aber wesentlich schneller bekommen, in dem du es als mod_php laufen lässt und den eAccelerator dazu installierst.
bei-uns.de
Interessen verbinden Menschen

Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 10.11.2007, 11:22

Auch nicht unerwaehnt bleiben sollte, dass es nicht allein nur auf die Sprache ankommt, sondern auch WIE man etwas codet. So kann man bspw. 3fach verschachtelte Schleifen bauen, wo nicht einmal eine einfache noetig waere. Oder man fraegt 10mal die DB ab obwohl es 0mal noetig waere. Usw. etc. pp. ff.

Statische Seiten in 0.2s? U.U. nicht schnell genug - da koennte es noch Optimierungspotenzial geben ;-)
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

everflux
PostRank 8
PostRank 8
Beiträge: 939
Registriert: 01.05.2006, 17:15

Beitrag von everflux » 10.11.2007, 22:31

Dazu gibts dann noch die verschiedensten Lösungen (opcode-caches, db-caches, ...) um ein System zu optimieren.
Je nachdem was du vor hast, könnte es mit dem ram bei dir eng werden.
https://everflux.de/ blogging about life, programming, seo and the net

Michael
PostRank 8
PostRank 8
Beiträge: 808
Registriert: 04.01.2004, 20:23
Wohnort: Herne

Beitrag von Michael » 10.11.2007, 22:54

Bei vergleichbarem Code ist C/C++ immer "ein wenig" schneller als PHP. Besonders wenn "VIEL" Speicher in kleinen Blöcken reserviert werden muss, kommt PHP nicht mehr mit.
PHP ist halt nur für die Ausführung kurzer Skripte geeignet. Bei einer Laufzeit einer PHP Anwendung über mehrere Wochen (z.B. Als Desktop Anwendung mit gtk) läuft hier schnell der Speicher voll, da der Garbage Collector nicht so schlau ist wie der einer Java VM. :-(

Trotzdem, bei Webanwendungen ist PHP eine gute Wahl die hier ihre Stärken ausspielen kann.

zeta24
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 19.11.2007, 00:55
Wohnort: Köln

Beitrag von zeta24 » 21.11.2007, 20:43

Grillmeister hat geschrieben:...ich bin auf meinem Server mit der Performance von PHP-Scripten unzufrieden.
Ich will Dir nicht zu nahe treten, aber in den meisten Fällen liegen Performence-Probleme mit PHP an schlampiger Programmierung.

Grillmeister
PostRank 5
PostRank 5
Beiträge: 325
Registriert: 31.10.2007, 01:41

Beitrag von Grillmeister » 21.11.2007, 23:36

zeta24 hat geschrieben:
Grillmeister hat geschrieben:...ich bin auf meinem Server mit der Performance von PHP-Scripten unzufrieden.
Ich will Dir nicht zu nahe treten, aber in den meisten Fällen liegen Performence-Probleme mit PHP an schlampiger Programmierung.
Da hast du sicher Recht. Aber wenn selbst ein

Code: Alles auswählen

<?PHP
echo 'Hallo Welt';
?>
fast zwei Sekunden braucht, bis der Server die Antwort ausliefert, liegt es wohl eher am Server. Ich habe mittlerweile einige Optimierungen vorgenommen und komme jetzt bei einfachen Scripten oder meinem CMS auf Werte um 0.2s. Damit kann ich gut leben.

Joomla z.B. ist immer noch viel zu langsam, um es produktiv einzusetzen.

zeta24
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 19.11.2007, 00:55
Wohnort: Köln

Beitrag von zeta24 » 22.11.2007, 00:55

Grillmeister hat geschrieben:Hallo Welt...fast zwei Sekunden...
OK. das ist hart. Könnte das am Provider liegen?

everflux
PostRank 8
PostRank 8
Beiträge: 939
Registriert: 01.05.2006, 17:15

Beitrag von everflux » 22.11.2007, 01:03

Es gibt doch irgendwelche Scripte, die server load etc. auslesen (z.b. phpsysinfo) - was kommt denn dabei raus?
https://everflux.de/ blogging about life, programming, seo and the net

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag