mertyrer

Wie konfiguriere ich mein FastCGI für einen Online Shop

Ich habe einen Online Shop für einen Klienten erstellt.
Nun habe ich das Problem, dass der Server sehr schnell ausgelastet wird und man ihn allein durch das spammen der F5 Taste lahmlegen kann.
Dabei hat der Server 32 GB und 8 Kerne, also sollte er eigentlich was aushalten.
Nur wird bei jedem Seitenaufruf ein PHP Prozess gestartet, der erst nach ein paar Sekunden geschlossen wird.

Hintergrunddaten.
32GB RAM Server
Auf Apache2 Basis, mit PHP FastCGI
Apache2:
Timeout 30
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 5
GracefulShutDownTimeout 3


PHP FASTCGI Settings:


FcgidIdleTimeout 40
FcgidProcessLifeTime 30
FcgidMaxProcesses 300
FcgidMaxProcessesPerClass 300
FcgidMinProcessesPerClass 3
FcgidConnectTimeout 30
FcgidIOTimeout 45
FcgidInitialEnv RAILS_ENV production
FcgidIdleScanInterval 10
FcgidSpawnScoreUpLimit 10
FcgidSpawnScore 1
FcgidTerminationScore 2
FcgidMaxRequestsPerProcess 10000
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 299513

Url: https://administrator.de/forum/wie-konfiguriere-ich-mein-fastcgi-fuer-einen-online-shop-299513.html

Ausgedruckt am: 19.06.2025 um 17:06 Uhr

wiesi200
wiesi200 19.03.2016 um 08:23:21 Uhr
Goto Top
Hallo,

ich würd mich bei der Gelegenheit mal vom Apache Trennen.
Dann schauen mit welcher PHP Version du arbeitest (eftl. ist auch HHVM interessant).
Wie sieht's mit Memcache oder so aus?
maretz
maretz 19.03.2016 um 08:58:19 Uhr
Goto Top
Und warum vom Apache trennen? Welchen Server würdest du denn empfehlen?

Allerdings: Ich würde zuerst immer mal in die Entwicklung schauen, meistens ist da eher das Problem als beim Server-Dienst. Alternativ auch mal schauen wieviele gleichzeitige Prozesse dein Apache aufbauen darf (und wieviel du brauchst). Wir nutzen z.B. den Apache für eine Anwendung bei denen auch mal 2000-3000 clients nahezu gleichzeitig darauf Zugreiffen (und das teils mit mehreren Requests da es verschiedene Funktionen gibt), das läuft ohne Probleme, der Server wird nicht mal warm dabei (und die Hardware ist erheblich kleiner als deine Kiste!)
wiesi200
wiesi200 19.03.2016 aktualisiert um 09:41:46 Uhr
Goto Top
Ich arbeite z.b gerne mit Nginx. Apache ist grundsätzlich nicht mal so Ressourcen schonend
StefanKittel
StefanKittel 19.03.2016 um 18:40:25 Uhr
Goto Top
Hallo,

nginx ist schneller bei vielen kleinen Zugriffen.
Bei einem Online-Shop ist der Vorteil aber nur gering.

Viel wichtiger, finde ich, ist aber dass nginx eine stabiliere Konfiguration hat.
Hat aber auch Nachteile, dass apache flexibler ist durch seine htaccess...

Für die Performance viel wichtiger ist aber PHP und ein FPC (Full Page Cache).
Von welche Shop sprechen wir eigentlich?

PHP 7 mit PHP FPM.
Dazu Varnish als FPC.
Getrennter Web und DB-Server.
Redis als Object-Cache

Und viele Shops, besonders Magento, brauchen auch viel Rechenleistung.
Mit einem einzelnen Server kommt man da häufig nicht weit.

Viele Grüße

Stefan