Support » Plugin: Harrys Gravatar Cache » high load

  • Hallo Harry,

    ich habe gesehen, dass Du ja auch Deutsch sprichst 😉
    Nachdem ich dein Plugin aktiviert habe, sind bei mir alle Cores auf 100% gelaufen.

    Jetzt habe ich mir mal deinen Code angesehen und ein paar komische Sachen gefunden:
    1. Wieso wird bei jedem Aufruf von get_avatar nochmal das Bild geladen und mittels @imagepng neu geschrieben? Reicht doch die Datei einmal zu cachen
    2. Wieso fragst Du den User Agent ab und passt darauf hin, deinen Output an (richtig kacke für gecachte Seiten)
    3. Wieso wird eine _2x Version erstellt, die die identische Bildgröße hat?
    4. Wieso machst Du eigentlich PNGs aus den JPGs, die von gravatar kommen?

    LG Kai

    The page I need help with: [log in to see the link]

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author Harry Milatz

    (@harry-milatz)

    Hi Kai,

    ja ich spreche deutsch;) Aber für alle anderen hier sollten die Topics in englisch bleiben, damit jeder was davon hat;)

    Welche Cores laufen auf 100% und warum? Die CPU des Servers durch die PHP Datei? Wie lange ist diese Vollauslastung? Da bräuchte ich dann mehr Infos.

    Also die Bilder werden nicht jedes Mal neu geschrieben(siehe das jeweilige Datum auf dem Server), sondern nur wenn sie nicht vorhanden sind oder der entsprechende Cachingzeitraum abgelaufen ist. Nur dann wird das Bild neu geschrieben, denn nur dann soll ja gecached werden;)

    Den Useragent muss ich in Bezug auf IE11 und dem Validator von W3C hin abfragen. Beim IE11 funktioniert nur der eine Output, bei allen anderen Browsern eben nicht. Und es gibt nach wie vor einige wenige IE11 Benutzer;) Ich hatte dazu aus anderen Teilen der Welt Supportanfragen, was dann die Abfrage des Useragents nötig machte.
    Ich habe hier aber noch kein Problem bei gecachten Seiten festgestellt, weder beim HTML/CSS/JS Cahcing noch bei memcache/d. Ich selbst nutze memcached.
    Wobei hast du denn da genau das Problem?
    Evtl. sind da nur die Einstellungen des jeweiligen Cachingplugin nicht so super eingestellt. Im Zweifel würde ich das Caching für IE11 User abschalten(die Benutzerzahlen schwinden ja immer mehr). So bekommt jeder den passenden Output.

    Eventuell werde ich das als Option in den Einstellungen einpflegen, so dass jeder selbst gucken kann ob er IE11 und/oder Validator als Output drin haben möchte.

    Jau bei der _2x Version muss ich nochmal ran, hab das aus den Augen verloren. Ist nur für das SRCSET gedacht und sollte dann natürlich die doppelte Auflösung haben(Retina Displays zb). Das werde ich in einer der nächsten Updates umsetzen.

    Weil die PNGs deutlich schlanker sind als JPGs und bei den kleinen Bildgrössen mehr als ausreichend sind. Gravatar selbst liefert ja auch PNGs aus, selbst wenn das Original als JPG dort mal hochgeladen wurde. Der Dateityp bleibt dort JPG welches dann als .png ausgegeben wird. Andere Plugins, welche dann ein Userbild ausgeben oder aus einem sozialen Netzwerk importieren, machen das durchaus komplett als JPG, was aber nicht nötig ist. Daher die Umwandlung.

    Auch hier natürlich ein interessanter Ansatz ob ich das dann mal als Option in den Einstellungen mit hereinnehme, so dass jeder selbst entscheiden kann ob eine Umwandlung erfolgen soll oder nicht.

    Gruss Harry

    Thread Starter Kai Spriestersbach

    (@seokai)

    Hallo Harry,

    ahh verstehe, dann check ich nicht, was da bei uns falsch läuft :-/

    Bei uns liefen die PHP-FFPM Prozesse mit PHP Copy komplett Amok mit einem Load von 7,5 war der Server komplett zu. Auch nachdem alle Dateien (eigentlich) gecached sein sollten, ging der load nicht spürbar nach unten. Plugin deaktiviert -> Load wieder bei 0,45 😀
    Jetzt mit cURL rennt der Server auf einem Load von 2,5 aber das ist immernoch viel zu viel für die kleine Aufgabe (eigentlich).

    Wir cachen nach außen via CloudFlare, intern haben wir NGINX Microcache, aber ok IE11 würde ich über ein Conditional Comment lösen, statt den User Agent abzufragen. W3C Validator entweder default validen Code ausliefern oder drauf k***** 😀

    Hat es eigentlich einen Grund, wieso Du 8 Wochen als maximale Cachezeit und 200 Pixel als maximale Bildgröße hart codierst? Würde die Laufzeit gerne auf 1 Jahr setzen und die Info, ob ein Userbild schon gecached wurde einfach via Datenbankanfrage klären (E-Mail->strtolower->md5 = gravatar URL) und nicht das FileSystem bemühen.

    Plugin Author Harry Milatz

    (@harry-milatz)

    Das ist seltsam, dass mit PHP Copy der Load so hoch ist. Da nochmal nach der Konfiguration schauen;)

    Jap das mit dem IE11 und Validator nehm ich in die Optionen mit auf, wird dann standardmäßig abgeschaltet sein.

    Ja hat es;) Ein User ändert ja auch gern mal sein Bild. Nicht nur bei Facebook;) Und damit das nicht erst nach einem Jahr auf der Seite gezeigt wird, hab ich einfach 8 Wochen genommen;) Mehr als 200px habe ich als Userbild bei Kommentaren noch nicht gesehen, daher diese Grenze.
    Jap das mit der DB ist eine Lösung. Bei meinen, recht umfangreichen, Tests auf Apache war die DB Abfrage aber nicht schneller als das Dateisystem.
    Auch das habe ich als Option im Hinterkopf;)

    Gruss Harry

    Plugin Author Harry Milatz

    (@harry-milatz)

    Hi Kai,

    ich gehe die von dir angesprochenen Punkte durch und setze das als Optionen in den Einstellungen in einem der nächsten Updates um.

    Gruss Harry

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘high load’ is closed to new replies.