Bilder-Cache leert sich von selbst

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Fr 6. Nov 2015, 10:18

Hallo!

Ich muss das Thema leider erneut aufgreifen, da es immer störender wird und meine grauen Haare deutlich zugenommen haben. :motz:

Mir ist auch aufgefallen, das selbst bei einem Login in das Backend, der Code-Cache geleert wird.
Ruft man anschlissend eine Frontendseite auf, braucht diese bei ersten laden sehr sehr lange. Bei zweiten aufruf geht es gewohnt flott.

Kann man das bitte bis zur nächsten Version mal komplett überdenken und doptimieren?

Falls es dafür bereits eine notlösung geben sollte, wäre ich sehr dankbar.

Ein Ausklammern der Zeilen 56 bis 60, in der Datei function.mod.php, ist leider nicht ausreichend.



Gruß
Matthias

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von rethus » Di 10. Nov 2015, 09:56

bodil hat geschrieben:Inzwischen habe ich aber ein Workaround gefunden und das Problem so gelöst.
Oh wie wir sie alle mögen :motz: die Abstauber... die Ihre Lösung mit "Danke, hab mein Problem gelöst" quittieren, ohne Ihren Lösungsansatz zu teilen. :motz: :x

mattmarr hat geschrieben:Es wäre echt gut wenn es schon eine Notlösung geben könnte. Meine Grauen Haare vermehren sich derzeit rasent Schnell.
Hast du Zugriff via SSH auf den Server? Dann könntest du als Dirty-Workarround ein CronJob machen, der via Rsync die Cache-Files in einen weiteren Temporären Ordner zieht. Das Script würde dann immer von TMP_Cache ⇒ Cache synchronisieren. So würde der Datenbestand im TMP_Cache stetig wachsen, und wenn diese Files im "Con_Cache" fehlen, diese wieder rüber synchronisieren.

Hat zwar den Nachteil, dass wenn du den Cache wirklich mal leeren willst, du dies auf deinem Server per Hand den TMP_Cache und CON_Cache gleichzeitig leeren musst, aber hey, du wolltest eine Notlösung :lol:
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Mo 29. Aug 2016, 07:27

Hallo!

Ich schubs das Thema nochmal an.

Leider ist es noch immer extremst störend, das beim editieren eines Moduls, der gesamte Cache-Ordner geleert wird.

Es wäre echt gut, wenn man da was gegen machen könnte, das zumindest die Grafiken im Cache-Ordner nicht angefasst werden würden.
Jedes Editieren eines Moduls zwingt den Server kurzzeitig in die Knie.



Gruß
Matthias

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von McHubi » Mo 29. Aug 2016, 10:32

Hallo Matthias,

nur eine fixe Idee, habe es nicht ausprobiert. Editierst Du die Module direkt im Backend? Ggf. bringt es was, wenn Du z. B. den Moduloutput "extern" anpasst, per FTP hochlädst und danach die Module synchronisiertst falls notwendig. Möglicherweise wird dann der Cache nicht angetastet.
Mir ist auch aufgefallen, das selbst bei einem Login in das Backend, der Code-Cache geleert wird.
(Nov 06, 2015)

Wobei das schon echt ätzend ist. Evtl. in der aktuellen 4.9.11er nicht mehr gegeben?
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Mo 29. Aug 2016, 10:57

Hallo McHubi,
McHubi hat geschrieben:nur eine fixe Idee, habe es nicht ausprobiert. Editierst Du die Module direkt im Backend? Ggf. bringt es was, wenn Du z. B. den Moduloutput "extern" anpasst, per FTP hochlädst und danach die Module synchronisiertst falls notwendig. Möglicherweise wird dann der Cache nicht angetastet.
Das stimmt, ja und nein. So ganz steig ich das selbst noch nicht durch.
Was mach ich aber mit den Kollegen, sollen die alle über FTP Module editieren oder sogar Übersetzungen Editieren? Kein gute Idee. :wink:
McHubi hat geschrieben:Wobei das schon echt ätzend ist. Evtl. in der aktuellen 4.9.11er nicht mehr gegeben?
In der 4.9.11 ist das Problem noch immer vorhanden, obwohl es seit Oktober 2014 hier im Forum bekannt. :(



Gruß
Matthias

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Mi 5. Okt 2016, 08:40

*klopf* *klopf* :roll:

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von frederic.schneider_4fb » Do 6. Okt 2016, 08:19

Von unserer Seite gibt es bei dem Thema nichts Neues: Das Ticket ist weiterhin erstellt und für eine der nächsten Versionen vorgesehen, nicht aber für die nächste. Ich hatte auch von Anfang an dazu geschrieben, dass ich nicht sagen kann, wann wir das realisieren. Ich werde das Ticket unserer Projektleiterin aber noch einmal unter Verweis auf Community-Wunsch empfehlen :wink:
Frederic Schneider
Entwickler bei der four for business AG

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Do 6. Okt 2016, 09:11

Hallo Frederic!
frederic.schneider_4fb hat geschrieben:Von unserer Seite gibt es bei dem Thema nichts Neues: Das Ticket ist weiterhin erstellt und für eine der nächsten Versionen vorgesehen, nicht aber für die nächste. Ich hatte auch von Anfang an dazu geschrieben, dass ich nicht sagen kann, wann wir das realisieren. Ich werde das Ticket unserer Projektleiterin aber noch einmal unter Verweis auf Community-Wunsch empfehlen :wink:
Ab wann ist denn bei euch etwas wichtig und was nicht, damit es umgesetzt wird?
Wenn ich könnte, würde ich selbst versuchen das problem zu lösen, aber wie immer üblich, fehlt dazu du Zeit.



Gruß
Matthias

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von frederic.schneider_4fb » Do 6. Okt 2016, 09:25

Wir machen ja zurzeit Fehlerbehebungsversionen: Fehler, die die allermeisten Nutzer betreffen, kommen behoben in die nächste Version. Genauso ganz grobe Schnitzer, selbst wenn sie nur eine eingeschränkte Nutzergruppe betreffen. Der Rest wird niedrig priorisiert und geschoben. Neue Funktionen oder Verbesserungen werden bei uns immer diskutiert. Wenn wir der Meinung sind, dass es eine Funktion/Verbesserung ist, die einigen Nutzern hilft, machen wir ein Ticket daraus. In welche Version das kommt, das wird jeweils individuell entschieden. Wir sind natürlich auch über externe Unterstützung dankbar und übernehmen auch Quelltext, nachdem wir (ich) das getestet haben ;-)
Frederic Schneider
Entwickler bei der four for business AG

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von Faar » Do 6. Okt 2016, 11:14

mattmarr hat geschrieben:Leider ist es noch immer extremst störend, das beim editieren eines Moduls, der gesamte Cache-Ordner geleert wird.
Wahrscheinlich gibt es keine Unterscheidungsmerkmale bei den gecachten Dateien, so dass man sie einem Modul zuordnen könnte.
Es wäre echt gut, wenn man da was gegen machen könnte, das zumindest die Grafiken im Cache-Ordner nicht angefasst werden würden.
Das sollte seitens Contenido möglich gemacht werden, dass Code-Cache und Bilder-Cache getrennt gelöscht werden.
Natürlich, wenn man in einem Bildmodul arbeitet und dort zum Beispiel die Größe eines Bildzuschnittes ändert, dann nützt es wenig, wenn nur der Code-Cache gelöscht wird.
Jedes Editieren eines Moduls zwingt den Server kurzzeitig in die Knie.
Eventuell sind die Originale zu groß, da könnte man was machen, indem man nicht riesige Bilder direkt aus einer Kamera hoch lädt.
Ich schreibe ausserdem meine Bildverarbeitungsmodule so, dass sie Bilder, die bereits die Ausgangsgröße haben, nicht von der Bildbearbeitung angefasst werden.
Denn meistens kann Photoshop die Bilder besser bearbeiten als PHP.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Do 6. Okt 2016, 12:51

Faar hat geschrieben:Das sollte seitens Contenido möglich gemacht werden, dass Code-Cache und Bilder-Cache getrennt gelöscht werden.
Natürlich, wenn man in einem Bildmodul arbeitet und dort zum Beispiel die Größe eines Bildzuschnittes ändert, dann nützt es wenig, wenn nur der Code-Cache gelöscht wird.

Sollte Contenido das nicht automatisch erkennen? Contenido generiert doch anhand von ein paar Paramter, einen HASH-Wert der eigentlich veränderungen anzeigt.
Faar hat geschrieben:Eventuell sind die Originale zu groß, da könnte man was machen, indem man nicht riesige Bilder direkt aus einer Kamera hoch lädt.
Ich schreibe ausserdem meine Bildverarbeitungsmodule so, dass sie Bilder, die bereits die Ausgangsgröße haben, nicht von der Bildbearbeitung angefasst werden.
Denn meistens kann Photoshop die Bilder besser bearbeiten als PHP.
Klar sind des öfteren die hochgeladenen Bilder etwas Gröer(Pixel).
Kunden haben ja die möglichkeit selbst Artikel inkl. Bilder oder Galerien über die Dateiverwaltung hochzuladen.
Photoshop und Konsorten haben leider die wenigsten bzw können dieses bedienen.



Gruß
Matthias

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Do 6. Okt 2016, 14:08

frederic.schneider_4fb hat geschrieben:Wir sind natürlich auch über externe Unterstützung dankbar und übernehmen auch Quelltext, nachdem wir (ich) das getestet haben ;-)
So, ich hab mich mal durch die weiten des Quellcodes geschlagen und ein paar kleine änderungen vorgenommen.
Die korrekturen sind im Anhang und im Quellcode mit //mm kommentiert.

Ich hab es soweit umprogrammiert, das wenn man im Modul(nur im Modul!) auf speichern klickt, zwar der Cache-geleert aber die Grafikdateien NICHT gelöscht werden.
Würde mich freuen wenn es ansatzweise in Contenido 4.9.12 einfließen würde. :wink:



Gruß
Matthias
Dateianhänge
contenido_4.9.11.zip
(5.91 KiB) 119-mal heruntergeladen

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von Faar » Do 6. Okt 2016, 14:49

mattmarr hat geschrieben:Sollte Contenido das nicht automatisch erkennen? Contenido generiert doch anhand von ein paar Paramter, einen HASH-Wert der eigentlich veränderungen anzeigt.
Der Hashwert besteht eigentlich nur aus dem Hash des Dateinamens und einem Datums-Zusatz. Die Veränderung ist dann das Datum und die eindeutige Zuordnung ist der Hash aus den Dateinamen oder Pfad.
Faar hat geschrieben:Eventuell sind die Originale zu groß,...
Klar sind des öfteren die hochgeladenen Bilder etwas Gröer(Pixel).
Und klar hat jeder Server unbegrenzt viel RAM, den er für sowas zur Verfügung stellt. :twisted:
Hast Du mal geschaut, wie groß ein 10 MB großes JPG Bild wird, wenn es entpackt (!) im RAM eines Bildbearbeitungsprogrammes ist?
Ich hatte dieses Jahr ein Projekt, bei dem manche Bilder zu groß waren und da ist schlicht und einfach nichts mehr passiert, weil das zugeordnete RAM nicht mehr ausreichte, das große Bild zu verkleinern.
Der Hintergrund ist auch der, dass bei Bildbearbeitung immer auch eine Kopie oder Version im Speicher bleibt. Schlimmstenfalls wird die Bildbearbeitung auch noch als Array mit Bildern abgearbeitet und dann bleiben womöglich mehrere Bilder im RAM.
Als Beispiel: Aus einem kleinen 87 kB jpg-Bildchen wird 370 kB entkomprimiert im RAM (je nach Kompressionsrate und Zeugs).
Ein 10 MB Bild könnte 100 MB im RAM haben, und was macht dann dein Server, wenn andere Prozesse den RAM schon weitgehende belegt haben?
Genau, er legt sich nieder.
Kunden haben ja die möglichkeit selbst Artikel inkl. Bilder oder Galerien über die Dateiverwaltung hochzuladen.
Und da ist das Problem.
Photoshop und Konsorten haben leider die wenigsten bzw können dieses bedienen.
Ich hatte mal angeregt, die Medienbearbeitung auszubauen, so dass man auch Bilder im Backend verkleinern und zuschneiden kann.
Aber bis dahin könntest Du leichter die Upload-Größe beim PHP verkleinern, so dass maximal 1 MB Bildchen noch hochgeladen werden können.
Alles andere muss mit FTP hochgeladen werden.

Übrigens: Bei PDF-Erstellung bleibt ein Server auch oft stehen, wenn große Bilder mit rein kommen.
Das hat wenig mit Contenido zu tun als eher mit "Stand der Dinge".
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von Faar » Do 6. Okt 2016, 14:55

mattmarr hat geschrieben:Ich hab es soweit umprogrammiert, das wenn man im Modul(nur im Modul!) auf speichern klickt, zwar der Cache-geleert aber die Grafikdateien NICHT gelöscht werden.
Würde mich freuen wenn es ansatzweise in Contenido 4.9.12 einfließen würde. :wink:
Und was passiert, wenn jemand in einem Bildbearbeitungsmodul etwas ändert, was auf die Bilder wirkt?
Bleiben dann die alten Bilder im Cache und werden angezeigt, obwohl sie neu überarbeitet werden sollten?
Braucht es dann, wie in Typo3, einen extra Button um den Bildercache zu leeren?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Bilder-Cache leert sich von selbst

Beitrag von mattmarr » Do 6. Okt 2016, 15:07

Faar hat geschrieben:Und was passiert, wenn jemand in einem Bildbearbeitungsmodul etwas ändert, was auf die Bilder wirkt?
Da die Bilder durch den Contenido eigenen Image-Processor(cApiImgScaleImageMagick()) bearbeitet werden, werden diese erneuert, sobald man an dem Bildformat(dateigröße, PixelX, PixelY, usw...) etwas verändert. Siehe dazu folgenden Link: http://api.contenido.org/con4911/source ... tml#38-200

Faar hat geschrieben:Bleiben dann die alten Bilder im Cache und werden angezeigt, obwohl sie neu überarbeitet werden sollten?
Braucht es dann, wie in Typo3, einen extra Button um den Bildercache zu leeren?
Diesen "Button" hat Contenido doch schon längst. Siehe "Administration > System > Bereinigung".



Gruß
Matthias

Antworten