Apache2 leistungssteigerung

  • Hallo,


    Ich wollte mal eure Erfahrung einholen, was die Leistung vom Apache2 angeht.


    Ich habe den Server:
    Intel® Dual-Core 6 GB DDR3 RAM (ECC) 2 vCores 240GB SATA / 120GB SSD


    https://www.netcup.de/bestellen/produkt.php?produkt=1176


    Darauf läuft ein prestashop mit rund 600 Artikeln und wenig Zugriffen. Das meiste läuft derzeit noch über ebay.


    Mir ist aber aufgefallen, dass ich den Apache2 alle 2 Tage Neustarten muss, weil ich sonst ganz erhebliche leistungsverluste habe. Sprich das im backend zum Beispiel kein Artikel mehr hinzufügen kann, weil ich dann ein timeout vom script bekomme, dass einige (ne js file) Dateien nicht geladen werden können.


    Also ich die execution time ist das Problem sondern dass es einfach zu lange dauert bzw. Nicht möglich ist die Datei zu laden


    Das kommt als Fehler:
    (timeout) Einige Menüpunkte werden nicht korrekt angezeigt. Möchten Sie die Seite neu laden? Bitte die Seite noch einmal neu laden! Wenn das Problem weiter auftritt, überprüfen Sie die Log-Dateien Ihres Servers oder bitten Sie Ihren Provider um Hilfe.


    Die log habe ich aktuell nicht mehr zu Hand, würde ich nachreichen.


    Aber hier ein Screenshot:
    [Blockierte Grafik: http://uploads.tapatalk-cdn.com/20160415/3383d4183b6b96d56ae1430b0ff73c25.jpg]


    Da sieht man die js file und den timeout 30 Sekunden.


    Starte ich den Apache2 neu, läuft alles wieder in 2 Sekunden.


    Deswegen überlege ich, wie ich am besten optimieren kann.


    Ist ne Debian 8 froxlor Installation.


    Geladene Apache2 Module sind die:
    Loaded Modules:
    core_module (static)
    so_module (static)
    watchdog_module (static)
    http_module (static)
    log_config_module (static)
    logio_module (static)
    version_module (static)
    unixd_module (static)
    access_compat_module (shared)
    alias_module (shared)
    auth_basic_module (shared)
    authn_core_module (shared)
    authn_file_module (shared)
    authz_core_module (shared)
    authz_host_module (shared)
    authz_user_module (shared)
    autoindex_module (shared)
    deflate_module (shared)
    dir_module (shared)
    env_module (shared)
    filter_module (shared)
    mime_module (shared)
    mpm_prefork_module (shared)
    negotiation_module (shared)
    php5_module (shared)
    rewrite_module (shared)
    setenvif_module (shared)
    socache_shmcb_module (shared)
    ssl_module (shared)
    status_module (shared)


    Ich hoffe, dass ihr mir ein paar Tipps geben könnt :)


    Achso, die etc/Apache2/prefork.Conf sieht so aus
    # prefork MPM
    <IfModule mpm_prefork_module>
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxRequestWorkers 150
    MaxConnectionsPerChild 0
    </IfModule>


    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


    An sich würde ich ja auf lighthttpd umsteigen oder nginx aber das ist mit dem ShopSystem wie ich bisher gelesen habe etwas schwieriger zwecks Umstieg.


    Eventuell hat ja jemand Erfahrung damit.



    Gesendet von meinem C6903 mit Tapatalk

    Der oben geschriebene Beitrag ist meine persönliche Meinung/Interpretation!
    Im übrigen verweise ich auf §675 Abs. 2 BGB .

    Einmal editiert, zuletzt von Real-DD-2 ()

  • Interessanter wäre einmal die Ram-Auslastung zu beobachten. Ich vermute eher, dass der Apache oder PHP zu viel beansprucht, alles ausgelagert werden muss und es deshalb zu Problemen kommt.


    Wie viel Arbeitsspeicher brauchen Deine PHP-Scripte je Aufruf durchschnittlich/maximal? Wenn Du diesen Wert halbwegs weißt, kannst Du eine sinnvolle Anzahl an maximalen Prozessen/Threads festlegen.


    Hilfreich könnte auch FCGI sein, dann muss PHP nicht bei jeder statischen Datei mitgeladen werden.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hallo Christian,


    Also an sich hat php.ini als memory Limit 1024 jetzt.


    Wie viel die Prozesse im allgemeinen brauchen kann ich jetzt nicht sagen. Ich muss mal gucken, dad ich jetzt mal ne Serverüberwachung installiere. Hatte hier im Forum ne OS Variante zu linux-dash gelesen.


    Aber im linux-dash ist die ram und CPU Auslastung konstant niedrig.


    FCGI würde ich sehr gern nutzen. Hatte es bestimmt schon 10x versucht. Aber am Ende ging das nicht so, wie gewollt. Daher im Moment auch die froxlor Installation. Froxlor brauche ich ja eig. Nicht. Würde lieber gern nginx nehmen. Ich gucke mal welche Möglichkeiten ich erstmal wegen php Speicher habe.



    Gesendet von meinem C6903 mit Tapatalk

    Der oben geschriebene Beitrag ist meine persönliche Meinung/Interpretation!
    Im übrigen verweise ich auf §675 Abs. 2 BGB .