1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Optimierung der server-tuning.conf

Dieses Thema im Forum "Konfiguration" wurde erstellt von hugo22, 18. Februar 2014.

  1. hugo22

    hugo22 Member

    Registriert seit:
    12. Februar 2014
    Beiträge:
    22
    Zustimmungen:
    0
    Hallo Leute,
    ich habe nun leider schon etwas länger Probleme mit meinem Wordpress, da schon ca. 50 User ausreichen um die CPU vollkommen zu überlasten. Der Prozess httpd2-prefork läuft dabei ca. 10-15 mal parallel und treibt die CPU auf 100%.
    Ich denke es liegt an der server-tuning.conf, da diese ja die Prozesse managed, wenn ich das richtig verstanden habe.

    Die aktuelle server-tuning.conf sieht folgendermaßen aus:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die CPU Informationen:
    model : 37
    model name : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
    stepping : 1
    cpu MHz : 2900.000
    cache size : 20480 KB
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
    pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up
    arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pcl
    mulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor lahf_lm ida arat ep
    b pln pts dtherm
    bogomips : 5800.00
    clflush size : 64
    cache_alignment : 64
    address sizes : 40 bits physical, 48 bits virtual
    power management:
    cpuid level : 11
    wd : GenuineIntel
    cpu family : 6
    model : 37
    model name : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
    stepping : 1
    cpu MHz : 2900.000
    cache size : 20480 KB
    fpu : yes
    fpu_exception : yes
    cpuid level : 11
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
    pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up
    arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pcl
    mulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor lahf_lm ida arat ep
    b pln pts dtherm
    bogomips : 5800.00
    clflush size : 64
    cache_alignment : 64
    address sizes : 40 bits physical, 48 bits virtual


    Die aktuell installierten Plug-In´s:
    Add From Server
    Attachments
    Better WP Security
    Meta Box
    P3 (Plugin Performance Profiler)
    Regenerate Thumbnails
    Safe Redirect Manager
    Simple Login Log
    Stealth Login Page
    TinyMCE Advanced
    W3 Total Cache
    WordPress SEO
    WP Robots Txt


    So sieht es dann mit nmon bei ca. 50 Usern aus:
    http://abload.de/img/screen3shy3x.png


    Wäre über Tipps sehr froh :)
     
  2. hugo22

    hugo22 Member

    Registriert seit:
    12. Februar 2014
    Beiträge:
    22
    Zustimmungen:
    0
    Hat keiner einen Vorschlag?
     
  3. Hille

    Hille Well-Known Member

    Registriert seit:
    22. Januar 2012
    Beiträge:
    7.965
    Zustimmungen:
    9
    Aus deinen Angaben kann man nur wenig herleiten. Welche Distribution setzt du ein? Wie hoch ist der Load im Durchschnitt. Du kannst das mal versuchen

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #3 Hille, 20. Februar 2014
    Zuletzt bearbeitet: 20. Februar 2014
  4. derheimwerker

    derheimwerker Well-Known Member

    Registriert seit:
    5. Dezember 2012
    Beiträge:
    271
    Zustimmungen:
    0
    Auf welcher Grundlage hast Du die Config-Datei oben erstellt? Mal testweise nginx ausprobiert?
     
  5. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.318
    Zustimmungen:
    582
    // MaxRequestsPerChild 10000


    MaxRequestsPerChild 0

    // W3 Total Cache

    memcache aktiv?

     
  6. hugo22

    hugo22 Member

    Registriert seit:
    12. Februar 2014
    Beiträge:
    22
    Zustimmungen:
    0
    Habe mal in /etc/php5/conf.d geschaut. Dort liegt keine memcache.ini, daher denke ich dass es nicht installiert ist.


    Habe dort bereits alle möglichen Werte durchprobiert. Einstellung erfolgte immer auf Basis von Foreneinträgen. nginx habe ich bisher nicht probiert.



    Habe MaxRequestsPerChild 0 und den MaxClients Wert eingestellt. Jedoch ohne Erfolg.

    Eingesetzt wird openSUSE
    Linux server 3.0.80-0.7-default #1 SMP Tue Jun 25 18:32:49 UTC 2013 (25740f8) x86_64 x86_64 x86_64 GNU/Linux

    Ohne Last ist der Load selten über 5%. Ich habe gerade mal ein Lasttest schrittweise die User um einen anheben lassen und bei ca. 40 Usern hatte die CPU schon eine durchgehende Last von 100%.

    Auf der Wordpressseite läuft viel JavaScript. Den RAM habe ich testweise auf 6GB aufgestockt. Es gibt dadurch jedoch keine Besserung.
     
  7. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.318
    Zustimmungen:
    582
    Welche PHP version? Ab 5.5 könnte der WP mySQli layer helfen
    http://wordpress.org/plugins/mysqli/

    Hat der Apache Probleme mit Fehlern? Wie verwendest du php? als Apache Modul oder als fast-cgi?

    > Simple Login Log

    wo spreichert dieses Pluign die Logs?

    Der RAM-Verbrauch hängt unter anderem von der Einstellung für MaxClients ab.

    1. Die durschnittliche Größe eines Apache-Prozesses feststellen mit:
    Code:
    ps -ylC apache --sort:rss
    2. Dem Apache zur Verfügung stehenden RAM ausrechnen, also alles abziehen, was auf dem Server noch RAM benötigt (Betriebssystem, Datenbank, Sendmail etc.)
    3. Dann den zur Verfügung stehenden RAM durch die durschnittliche Größe des Apacheprozesse teilen, ergibt den optimalen Wert für MaxClients.

    An einem Beispiel mit Deiner Serverkonfiguration:
    durchschnittliche Größe eines Prozesses = 5 MB
    zur Verfügung stehende RAM = 3000 MB
    ergibt 600 MaxClients

    zu meiner Anmerkung

    so habe ich es gelernt
    // MaxRequestsPerChild steht auf 0. Damit reguliert sich der Apache selbst.

    so habe ich es eben gelesen
    // Nein, eben nicht. Mit 0 werden die Childs nicht regelmäßig neu gestartet. Damit eine evtl. auftauchende RAM-Lücke ggf. mal
    // geschlossen wird, empfiehlt sich ein Wert >1000.

    und prüf mal die error logs
    /var/log/apache/users/default-error.log
    usw..

    viel glück

    ralf
     
  8. hugo22

    hugo22 Member

    Registriert seit:
    12. Februar 2014
    Beiträge:
    22
    Zustimmungen:
    0
    Hallo Ralf,

    danke für deine Nachricht.

    Die installierte Version ist 5.4.20 (cli)

    Kann ich via Yast auf 5.5 bzw. höher updaten?



    PHP wird als Apache Modul verwendet. Ich habe nun schon öfter von FastCGI gelesen, aber noch keine Erfahrung damit. Würde sich eine Umstellung darauf lohnen bzw. ist dies überhaupt möglich?

    Simple Login Log:
    /srv/wordpress/wp-content/plugins/simple-login-log # simple-login-log.php

    Dort steht nur folgendes drin:

    dme.txt*
    screenshot-1.jpg*
    screenshot-2.jpg*
    simple-login-log.php*
    uninstall.php*




    Die server-tuning.conf habe ich deiner Nachricht entsprechend angepasst.


    Im Logfile steht folgendes: (nach einem webserver neustart)

    [Fri Feb 21 14:19:52 2014] [notice] caught SIGWINCH, shutting down gracefully
    [Fri Feb 21 14:19:52 2014] [error] (9)Bad file descriptor: apr_socket_accept: (client socket)
    [Fri Feb 21 14:19:58 2014] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
    [Fri Feb 21 14:19:58 2014] [notice] Apache/2.2.12 (Linux/SUSE) mod_ssl/2.2.12 OpenSSL/0.9.8j-fips configured -- resuming normal operations

    Könnte es an den beiden Hinweisen liegen? Ich habe danach gesucht, jedoch keine parallelen zu dem Lastproblem gefunden.

    Grüße
     
  9. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.318
    Zustimmungen:
    582
    ja - wenn man die richtigen Quellen angibt...

    PHP 5.5 hat allerdings wird die Nutzung der MySQL-Erweiterung eine 'E_DEPRECATED'-Warnung zeigen. MySQLi wird benötigt...


    > Software-Repositorys
    hier
    http://download.opensuse.org/repositories/Apache/ gefolgt von der openSUSE_VERSION
    und
    http://download.opensuse.org/repositories/server:/php/ gefolgt von der ApacheopenSUSE_VERSION
    https://de.opensuse.org/Repository


    gracefully beendet nicht nicht alles.. stop und starte apache über init.d

    beide Fehler solltest du beseitigen.


    verwende apache 2.4.7 - Quelle habe ich dir oben genannt.

    Viel Glück

    Ralf
     
    #9 r23, 21. Februar 2014
    Zuletzt bearbeitet: 21. Februar 2014
  10. hugo22

    hugo22 Member

    Registriert seit:
    12. Februar 2014
    Beiträge:
    22
    Zustimmungen:
    0
    Hey Ralf,

    ich habe nun versucht FastCGI zu integrieren. Jedoch stoße ich da auf ein Problem.

    Was ich bisher getan habe:

    Installation der FastCGI libraries:


    cd /extra/src
    wget http://www.fastcgi.com/dist/fcgi-current.tar.gz
    tar zxf fcgi-2.4.0.tar.gz
    cd fcgi-2.4.0
    ./configure
    make
    make install


    Installation der mod_FastCGI source:

    zypper install apache2-devel

    wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz

    tar xvfz mod_fastcgi-2.4.6.tar.gz

    cd mod_fastcgi-2.4.6/

    cp Makefile.AP2 Makefile

    ln -s /usr/include/apache2-worker/mpm.h /usr/include/apache2/

    make top_dir=/usr/share/apache2

    make top_dir=/usr/share/apache2 install



    Der nächste Schritt sieht eigentlich vor, die /etc/apache2/sysconfig.d/loadmodule.conf um den folgenden Eintrag zu erweitern:
    LoadModule fastcgi_module modules/mod_fastcgi.so


    und das PHP5 Modul entsprechend aus zu kommentieren.

    Das Problem ist nun jedoch, dass die Datei nach dem Apache Neustart auf den alten Zustand zurückgestellt wird und somit FastCGI nicht geladen wird.


    Kann mir jemand sagen wo das Problem liegt?

    Grüße



    Edit:
    Ich habe nun unter /etc/sysconfig/apache2 das Modul fastcgi hinzugefügt und php5 entfernt. Ein Neustart gibt nun jedoch folgendes aus:

    httpd2-prefork: Syntax error on line 117 of /etc/apache2/httpd.conf: Syntax error on line 9 of /etc/apache2/sysconfig.d/loadmodule.conf: Cannot load /usr/lib64/apache2-prefork/mod_fastcgi.so into server: /usr/lib64/apache2-prefork/mod_fastcgi.so: wrong ELF class: ELFCLASS32
     
    #10 hugo22, 19. März 2014
    Zuletzt bearbeitet: 19. März 2014
  11. hugo22

    hugo22 Member

    Registriert seit:
    12. Februar 2014
    Beiträge:
    22
    Zustimmungen:
    0
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden