[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apache mit php5-fpm und verschiedenen Benutzern



Martin Steigerwald <martin@lichtvoll.de> wrote:
> Am Freitag, 6. Januar 2017, 20:09:29 CET schrieb Sven Hartge:
>> Martin Steigerwald <martin@lichtvoll.de> wrote:
>> > Am Freitag, 6. Januar 2017, 19:32:41 CET schrieb Sven Hartge:
>> >> Martin Steigerwald <martin@lichtvoll.de> wrote:
>> >> > Am Freitag, 6. Januar 2017, 16:57:00 CET schrieb Sven Hartge:
> […]
>> >> >> Technisch gesehen ist mod_php + mpm_prefork das schnellste PHP-Setup,
>> >> >> weil viele Context-Switche wegfallen.
>> >> >> 
>> >> >> Praktisch gesehen ist es aber nicht so einfach abzusichern wie PHP via
>> >> >> FPM.
>> >> > 
>> >> > Hmmm, aber nicht das schnellste Apache-Setup, soweit ich aufgrund
>> >> > dessen, was ich bisher so las, vermute.
>> >> 
>> >> Schon, aber was bringt einem das schnellste Apache-Setup, wenn man damit
>> >> kein PHP machen kann, wenn man PHP machen will?
>> >> 
>> >> Lange Zeit wurde nginx+FPM als das schnellste PHP-Setup bezeichnet,
>> >> aber das ist, wenn man es wirklich benchmarkt, ein Trugschluss.
>> >> 
>> >> http://thomaslohner.github.io/slides/Performance-Myths/#/10
>> > 
>> > Interessant. Wobei das nix über die Latenz einzelner Requests aussagt.
>> > Die könnte allerdings für Apache Prefork mit MPM auch schneller sein.
>> 
>> Aus einem anderen Vortrag (wird in obiger URL auch angeschnitten):
>> Apache2 und nginx geben sich nicht viel, wenn man bestimmte Dinge in
>> Apache2 abschaltet, z.B. den Support für .htaccess.
>> 
>> http://thomaslohner.github.io/slides/Performance-Myths/#/8

> Hast Du die URL für diesen Vortrag griffbereit?

> Den hier angegebenen Vortrag hab ich bereits durchgeklickt. Allerdings
> sehe ich bei den Graphen auf der von Dir angegebenen Slide 8 kein
> Nginx im Vergleich, obwohl der Punkt ja gerade ist, dass Nginx nicht
> notwendigerweise schneller wäre als Apache.

Leider nein. An die Bookmarks, in denen ich den Link haben sollte, komme
ich aktuell nicht heran. Der Vortragende war aber auch Thomas Lohner von
SysEleve, IIRC.

>> Ist "AllowOverride" aktiv, so bezahlt man einen Grundpreis an
>> Performance-Verlust und dann noch einmal pro Verzeichnis, da Apache2
>> beim Zugriff in *jedem* Verzeichnis nach einer .htaccess sucht und
>> das kostet deutlich, je tiefer die Hierarche ist.

> Das habe ich tatsächlich als Tuning-Tipp in Bezug auf Apache im
> Performance- Kurs bereits mit drin. Aber gemessen hatte ich das selbst
> auch nicht.

Es ist aber logisch, wenn man darüber nachdenkt, was Apache2 machen
muss, um alle möglichen .htaccess zu finden.

>> > Also sehe ich für mich jetzt die Entscheidung:
>> > 
>> > 1) Entweder den FPM-Weg weitergehen und die Pools anlegen.
>> > 
>> > 2) Oder libapache-mpm-itk mit Prefork MPM und mod_php.
>> 
>> Ich würde ersteres machen.
>> 
>> > Für mich ist nicht offensichtlich, was jetzt da wirklich performanter
>> > ist. Ich kann mir vorstellen, dass es mit vom Anteil an statischen
>> > Inhalten abhängt und der Anzahl an Verbindungen / Clients abhängt.
>> > Möglicherweise ist für mein privates Setup Option 2 tatsächlich doch
>> > sinnvoller.
>> 
>> Umgekehrt.
>> 
>> Performance-Probleme mit FPM bekommst du dort, wo wir von
>> Höchstlast-Webseiten reden, also wo mehrere 10.000 Anfragen/Sekunde
>> eingehen.
>> 
>> Für die private Webseite würde ich nicht auf den Komfort von getrennten
>> FPM-Pools für kritische und unkritische Anwendungen verzichten wollen.

> Hmm, okay. Aber mit libapache-mpm-itk kann ich doch auch nach
> Benutzern kapseln. Und zwar nicht nur PHP, sondern auch den Apache
> selbst. Aber gut libapache-mpm-itk hab ich mir noch gar nicht
> angeschaut, daher keine Ahnung wie komplex das ist.

Selbst mit Capabilites und Seccomp2 (mod_itk braucht dann Kernel 3.5+)
wäre mir das irgendwie zu heiß. Vielleicht bin ich auch einfach nur
altmodisch.

S°

-- 
Sigmentation fault. Core dumped.


Reply to: